Sql server 当有多个

Sql server 当有多个,sql-server,case-when,Sql Server,Case When,我有一个有效的声明: CASE [Level 1] WHEN '2017' THEN '' WHEN '2016' THEN '' WHEN '2015' THEN '' WHEN '2014' THEN '' ELSE [Level 1] END 我试图做类似的事情,但没有成功: CASE WHEN [LEVEL 1] LIKE 'CALENDAR MONTH%' THEN 'CALENDAR MONTH' LIKE 'CALENDAR WEEK%' THEN 'CALENDAR WEEK

我有一个有效的声明:

CASE [Level 1]
WHEN '2017' THEN ''
WHEN '2016' THEN '' 
WHEN '2015' THEN ''
WHEN '2014' THEN ''
ELSE [Level 1]
END
我试图做类似的事情,但没有成功:

CASE WHEN [LEVEL 1]
LIKE 'CALENDAR MONTH%' THEN 'CALENDAR MONTH'
LIKE 'CALENDAR WEEK%' THEN 'CALENDAR WEEK'
LIKE 'CALENDAR QUARTER%' THEN 'CALENDAR QUARTER'
ELSE '[LEVEL 1]
END

关于如何使第二句话起作用的建议?

您想要这样的东西:

  CASE WHEN [LEVEL 1] LIKE 'CALENDAR MONTH%' THEN 'CALENDAR MONTH'
       WHEN [LEVEL 1] LIKE 'CALENDAR WEEK%' THEN 'CALENDAR WEEK'
       WHEN [LEVEL 1] LIKE 'CALENDAR QUARTER%' THEN 'CALENDAR QUARTER'
       ELSE [LEVEL 1]
  END

在你的ELSE语句中似乎有一个额外的单引号。从移除那个开始。我认为这是问题中的一个输入错误,否则当你试图运行它时,你会得到一个语法错误。谢谢