我在DB2语句中有一个case表达式,如下所示。
SELECT A,
CASE WHEN B LIKE ' %'
THEN C
ELSE B
END CASE,
D
FROM TAB
我想命名case表达式导致的列,但是我在AS
之后紧跟END CASE
并且将整个表达式包装在括号中并且在使用AS
。
添加AS(没有parens)会导致以下错误
199:SQL0199N在“”之后使用保留字“AS”无效。预期的代币可能包括:“,FROM INTO”。 SQLSTATE = 42601
如何命名此专栏?
答案 0 :(得分:3)
结束关键字不是END CASE
,只是END
:
SELECT A,
CASE WHEN B LIKE ' %'
THEN C
ELSE B
END AS D --- the AS is optional
FROM TAB
这是DB2中的documentation for CASE expression - 虽然它不是真的需要,但那是标准的SQL。