命名一个案例表达式?

时间:2012-02-29 13:20:12

标签: sql db2

我在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

如何命名此专栏?

1 个答案:

答案 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。