【问题标题】:Time conversion not working in case statement时间转换在 case 语句中不起作用
【发布时间】:2014-02-07 14:39:38
【问题描述】:

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

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

SQL>09:27:12

但我在编写的 case 语句中遇到了问题(将表中的行转换为列)。

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 关键字出现在同一行。我错过了什么??

【问题讨论】:

    标签: sql teradata


    【解决方案1】:

    你需要添加更多的括号:

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

    【讨论】:

    • 添加的括号起到了作用。谢谢!!接受并投票。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    相关资源
    最近更新 更多