Teradata 对时间戳值执行if/else时出现不匹配错误
您好,请帮我更正此代码:Teradata 对时间戳值执行if/else时出现不匹配错误,teradata,Teradata,您好,请帮我更正此代码: CASE WHEN CAST (Status_Start_TS AS TIMESTAMP) < '2018-07-15 0:0:0' THEN '2018-07-15' ELSE Status_Start_TS END AS "Start", CASE WHEN CAST CAST(状态开始作为时间戳)
CASE WHEN CAST (Status_Start_TS AS TIMESTAMP) < '2018-07-15 0:0:0'
THEN '2018-07-15'
ELSE Status_Start_TS
END AS "Start",
CASE WHEN CAST CAST(状态开始作为时间戳)<'2018-07-15 0:0:0'
然后是“2018-07-15”
其他状态\u开始\u TS
以“开始”结束,
我想将colStatus\u Start\TS
type TIMESTAMP中的日期和时间与'2018-07-15 0:0:0'进行比较。我收到错误消息“数据类型不匹配…”
提前感谢我认为问题在于您的日期/时间戳文本,正如您目前编写的那样,这些文本只是被解释为字符串。请尝试以下版本:
CASE WHEN Status_Start < DATE '2018-07-15'
THEN DATE '2018-07-15'
ELSE Status_Start END AS Start
CASE WHEN Status_Start < TIMESTAMP '2018-07-15 00:00:00'
THEN DATE '2018-07-15'
ELSE CAST(Status_Start AS DATE) END AS Start