在Teradata中验证日期的案例陈述

时间:2015-10-21 09:00:49

标签: teradata

我是Teradata的新手。我需要在case语句中检查日期列是否有有效日期。此列为“YYYY-MM-DD”格式。如果此字段无效,则需要使用'1900-01-01'作为默认值。有人可以指导我吗?

1 个答案:

答案 0 :(得分:1)

这是检查它的方法

select 
case when CALENDAR_DATE is null then  cast('1900-01-01'  as date format 'YYYY-MM-DD')
            else cast(datee as date format 'YYYY-MM-DD')  end valid_date
from YOUR_TABLE  XYZ
LEFT OUTER JOIN 
SYS_CALENDAR.CALENDAR CAL ON (CALENDAR_DATE (FORMAT 'YYYY-MM-DD') (CHAR(10))) = XYZ.datee;

这是一个以前讨论过所有可能解决方案的链接。 https://forums.teradata.com/forum/database/to-find-invalid-dates