簡介
case when 一般有兩種書寫方式,多用於查詢判斷
1.
case 列名 when '' then '空' when '1' then '成功' when '2' then '失敗' else '其他' end as '列名'
2.
case when 列名 is null then '' when 列名 ='1' then '成功' when 列名 ='2' then '失敗' else '未知' end as '列名'
實例
select a.Base_Code,a.BaseName,case when LEN(d.Spell) >=3 then rtrim(d.Spell)+' 長度大於等於3' else rtrim(d.Spell)+' 長度小於3' end as '拼音碼',a.style,a.odate,case b.QR_code when '' then '錯誤' else b.QR_code end as '二維碼' from [WlData].[dbo].[Tbl_OperateInventory] as a inner join Tbl_QRManage as b on a.QR_Code = b.QR_code inner join Tbl_dic_BaseInfo as c on a.Base_Code = c.Base_Code inner join Tbl_dic_Alias as d on a.Base_Code = d.AliasCode where a.StockType='g'
結論 null的判斷只能 通過第二種方法去判斷