2015-05-01 61 views
0

我在SAS DIS中有一个临时工作表,日期变量为source_datetime。该变量的格式为DATETIME22.6SAS值无法转换为Teradata日期

我有一个Teradata表与日期字段target_date(类型DATE),并使用表装载机我试图映射到source_datetimetarget_date。当我运行转换时出现错误

ERROR: A SAS value cannot be converted to a Teradata date

临时工作表中填充了良好的数据。当我尝试从DATETIME22.6DATE9.的转换时,输出看起来像“*********”。

深表谢意。

+0

你能缩小它到一个特定的行/值是否导致错误? –

+0

所有行都具有相同的日期值。它发生在试图加载第一行时 – Rookatu

+0

哦,对不起,你确实这么说。 =)你的日期列是什么类型? –

回答

2

我对DIS或Teradata知之甚少,但我不认为两者都与您的问题有关。

日期时间值是自1960年1月1日00:00:00以来的秒数。日期值是自1960年1月1日以来的天数。

听起来好像您试图将date9格式应用于日期时间值。如果你这样做,它通常看起来像*********,因为秒数太高而不能表示为日期。如果您想保留日期时间值,但要将其格式化为日期,请使用dtdate9格式。否则,您可以使用datepart()函数将日期时间值转换为日期值,然后使用date9格式。

+0

嗨DWal。是的,我一直在使用'DATEPART'从'datetime'转到'date9.',并使用'dhms'来反过来。应用一次工作正常。但是由于某种原因,这项工作已经被设定为多次进行这些转换,我认为这是搞砸了这个程序的原因。我不能再详细解释,这只是一个怀疑,但正如你所期望的那样,编写这个工作的方法比这个更好,而且我已经实施了更好的方法。感谢您的帮助! – Rookatu

相关问题