【发布时间】:2015-10-21 17:25:53
【问题描述】:
我是 Teradata 的新手。我需要在案例声明中检查日期列是否具有有效日期。此列采用“YYYY-MM-DD”格式。如果此字段无效,需要使用'1900-01-01'作为默认值。有人可以指导我吗?
【问题讨论】:
标签: teradata
我是 Teradata 的新手。我需要在案例声明中检查日期列是否具有有效日期。此列采用“YYYY-MM-DD”格式。如果此字段无效,需要使用'1900-01-01'作为默认值。有人可以指导我吗?
【问题讨论】:
标签: teradata
这是一种检查方法
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
【讨论】: