SQL Case多个条件

时间:2019-06-18 15:05:12

标签: sql sql-server

是否可以在sql中执行以下操作? 我似乎无法在2个条件下获得正确的语法,即将一个声明设置为int并将字符串连接为另一个?

case 
    when agencyStaff is null
    then @var + 1 & @var2 = @var2 + 'test'
    else 0

2 个答案:

答案 0 :(得分:0)

您似乎想要:

select @var2 = coalesce((case when agencyStaff is null 
                              then concat(@var, 1, @var2, 'test') 
                         end), 0
                       );

答案 1 :(得分:0)

没有诸如“然后有两个条件”之类的东西。 case表达式是返回单个值的 expression

也许您打算这样:

select (case when agencyStaff is null then 1 else 0 end) as col_1,
       (case when agencyStaff is null then 'test' else '' end) as col_2