SQL中的Case语句给出错误

use*_*989 2 sql sql-server

我正在尝试编写一个查询,它将输出为MONTH,YEAR.

我写的时候:

 select CAST( tbl.MONTH as varchar(2) ) + ', ' + CAST ( tbl.YEAR as varchar(4) ) as [DATE] 
 from TABLE as tbl
Run Code Online (Sandbox Code Playgroud)

我把输出作为

    1,2014
    4,2014 (depending upon the input)
Run Code Online (Sandbox Code Playgroud)

但是,现在,我想用JAN替换1,用DECRIL 12代替4

所以,我试着写一个案例陈述:

SELECT 
    case when tbl.MONTH ='1' 
    then ('JAN' + ', ' + CAST ( tbl.YEAR as varchar(4) )) as [DATE1]  
from TABLE as tbl
Run Code Online (Sandbox Code Playgroud)

这会给出语法错误.谁能告诉我,我应该做什么?

Gor*_*off 6

case需要的end:

SELECT (case when tbl.MONTH = '1' then 'JAN' + ', ' + CAST(tbl.YEAR as varchar(4) ))
        end) as [DATE1]
from TABLE tbl;
Run Code Online (Sandbox Code Playgroud)

如果值存储为数字,则不要在常量值周围放置单引号.