使用case语句时,在“case”或其附近的语法错误

时间:2017-07-29 23:55:51

标签: sql postgresql

我有以下SQL查询(在PostgreSQL中),我不断收到语法错误。

SELECT data1, data1_class
CASE
    WHEN data1 LIKE '%Bookmarked Removed%' THEN 'Class I'
    ELSE 'Class II'
END
AS data1_class
from events
WHERE event_code = 11

我得到的语法错误是:

  ERROR:  syntax error at or near "CASE"
  LINE 2:     CASE
        ^
  ********** Error **********

  ERROR: syntax error at or near "CASE"
  SQL state: 42601
  Character: 31

对我而言,我并不认为存在错误,但这应该有效,但是在尝试了几次之后我无法工作。

我的CASE声明中缺少什么才能使其正常工作?

2 个答案:

答案 0 :(得分:2)

您在CASE语句之前缺少逗号。应该是例如。

SELECT data1, data1_class,
CASE
 ...

答案 1 :(得分:0)

您在CASE语句之前缺少逗号。应该是例如。

SELECT data1, data1_class,
CASE
 ...

虽然你重复data1_class作为case语句的别名,所以也许你的意思是:

SELECT data1,
CASE
  ...