1. 程式人生 > >sql case when 數據類型

sql case when 數據類型

tab class varchar har select rom 失敗 可能 sel

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

也是同樣的數據類型轉換報錯

sql case when 數據類型