时间转换在case语句中不起作用

时间:2014-02-07 00:55:05

标签: sql teradata

我知道Terada允许我将字符串转换为时间值,前提是我指定了格式,例如。

SELECT '092712' (TIME, FORMAT 'HHMISS');

SQL>09:27:12

但我在我编写的案例陈述中遇到问题(将表中的行转换成列)。

SELECT
...
MAX(CASE WHEN PARM_NAME = 'EndTime' THEN PARM_VAL (TIME, FORMAT 'HHMISS')  END)  TEST_END_TIME,
...
FROM MYTABLE

DB抛出错误:“3707;语法错误,预期类似于PARM_VAL和(”。

之间的END键工作。

END关键字出现在同一行。我错过了什么?

1 个答案:

答案 0 :(得分:1)

您需要添加更多括号:

MAX(CASE WHEN PARM_NAME = 'EndTime' THEN (PARM_VAL (TIME, FORMAT 'HHMISS'))  END)  TEST_END_TIME,