case when 的時候 我們不同條件可能會出不同的數據類型
舉例說明:
declare @a nvarchar(10)='2'
select case when @a=1 then 1 else 'a' end
就會報錯
在將 varchar 值 'a' 轉換成數據類型 int 時失敗。
但是我們寫成就可成功執行
declare @a nvarchar(10)='2'
select case when @a=1 then 'a'else 1 end
這說明 case when 結果的數據類型是由第一個條件的類型來決定的
另外一種情況就是
Select Case When column1 =001 Then '省內' When column1 ='D001' Then '省外' End
From table1
也是同樣的數據類型轉換報錯
