如何在 Teradata 16.20 中删除空日期数据



我有许多行的日期字段为空。 我需要将这些行包含在我的答案集中。我们唯一设法完成的事情是设置一个"占位符日期"(01-01-1900(并在Excel中删除它们。我希望 Teradata 不让出"?";我想要等效的"。

下面是一个确切的示例: 箱 当SOA。Performed_date为空,则为" 否则。Performed_date 结尾为Sequence_of_Activities

我唯一可以使用的代码是: 箱 当SOA。Performed_date为空,则为"0001-01-01" 否则。Performed_date 结尾为Sequence_of_Activities

这是一个类似的工作示例,同样不令人满意:

, Max(CASE WHEN Care_Activity_Type_ID = 435 
        THEN PERFORMED_DATE 
        ELSE DATE '0001-01-01' 
    end) Annl_Reassess

第一个示例的错误是:表达式中的数据类型不匹配。

如果要返回''而不是null,则必须将日期转换为字符串:

coalesce(to_char(Performed_date, 'yyyy-mm-dd'), '')

顺便说一句,表示 NULL 的?是客户端设置。

事实上,

Teradata RDBMS 返回的是 NULL,而不是 ?。因此,您可以在RDBMS中确保传递的不是NULL(正如Dieter上面使用COALESCE所写的那样(。

但在SQL Assistant & TD Studio中,您可以更改NULL的显示(和导出(方式。也许您希望更改此设置。:)在TD工作室中,它的设置->Teradata数据工具->结果集查看器->数据格式->将空值显示为:->>你来了<</p>

相关内容

  • 没有找到相关文章