Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Teradata 对时间戳值执行if/else时出现不匹配错误_Teradata - Fatal编程技术网

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
以“开始”结束,
我想将col
Status\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