天天看點

Sql的case when

Sql的case when

糾正:格式1的字段2後面應該有個‘逗号’

錯誤格式:

select 字段1,字段2

case 字段1

        when 條件表達式1, then 結果表達式1

end

from 表

分層結構圖:

外層是selct * from 表的結構

裡層是case when結構

Sql的case when

舉例1:

定義一個變量,當變量為2時輸出字元串’var is 2‘,當變量為1時輸出字元串’var is 1‘,當變量為不等于1和2時輸出字元串’var is not 1 or 2‘

DECLARE @var INT;
SET @var=2
select
    CASE
        WHEN @var=2 THEN  'var is'+convert(varchar(9),@var)
        WHEN @var=1 THEN  'var is 1'
        ELSE 'var is not 1 or 2'
  END
           

舉例2:

輸出b等于1,2或其他值時的字元串

select b,
    CASE b
        WHEN '2' THEN  'var is 2'
        WHEN '1' THEN  'var is 1'
        ELSE 'var is not 1 or 2'
    END
from t1
           

結果:

Sql的case when