How do I use T-SQL's Case/When?

后端 未结 4 518
广开言路
广开言路 2020-12-13 17:09

I have a huge query which uses case/when often. Now I have this SQL here, which does not work.

 (select case when xyz.something = 1
 then
     \'SOM         


        
4条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-13 17:56

    declare @n int = 7,
        @m int = 3;
    
    select 
        case 
            when @n = 1 then
                'SOMETEXT'
        else
            case 
                when @m = 1 then
                    'SOMEOTHERTEXT'
                when @m = 2 then
                    'SOMEOTHERTEXTGOESHERE'
            end
        end as col1
    -- n=1 => returns SOMETEXT regardless of @m
    -- n=2 and m=1 => returns SOMEOTHERTEXT
    -- n=2 and m=2 => returns SOMEOTHERTEXTGOESHERE
    -- n=2 and m>2 => returns null (no else defined for inner case)
    

提交回复
热议问题