我正在检查y.cap_ts
的内容,如果有值(非空),则将其替换为current_date
,否则将其保留为空。但是我在/ else错误中得到数据类型不匹配。
这里cap_ts是日期数据类型。
任何人都可以提出更好的解决方法吗?
SET
cap_ts = CASE WHEN y.cap_ts IS NULL AND y.rwrd > 50
THEN current_date
ELSE NULL END
我目前在teradata工作。
答案 0 :(得分:0)
尝试将CURRENT_DATE
替换为CURRENT_TIMESTAMP(0)
。我知道您说CAP_TS
是DATE
数据类型,但您的命名约定似乎表示不同。与Oracle不同,Teradata中的DATE
数据类型不包含时间组件。如果它实际上定义为TIMESTAMP
,则需要使用CURRENT_TIMESTAMP(n)
,其中n是时间的精度。