當我們需要從數據源上 直接判斷數據顯示代表的含義的時候 ,就可以在SQL語句中使用 Case When這個函數了.
Case具有兩種格式。簡單Case函數和Case搜索函數。
第一種 格式 : 簡單Case函數 :
格式說明
case 列名
when 條件值1 then 選擇項1
when 條件值2 then 選項2.......
else 默認值 end
eg:
select
case job_level
when '1' then '1111'
when '2' then '1111'
when '3' then '1111'
else 'eee' end
from dbo.employee
第二種 格式 :Case搜索函數
格式說明
case
when 列名= 條件值1 then 選擇項1
when 列名=條件值2 then 選項2.......
else 默認值 end
eg:
update employee
set e_wage =
case
when job_level = '1' then e_wage*1.97
when job_level = '2' then e_wage*1.07
when job_level = '3' then e_wage*1.06
else e_wage*1.05
end
提示:通常我們在寫Case When的語句的時候,會容易忘記 end 這個結束,一定要記得喲!
比較: 兩種格式,可以實現相同的功能。
簡單Case函數的寫法相對比較簡潔,但是和Case搜索函數相比,功能方面會有些限制,比如寫判斷式。還有一個需要注意的問題,Case函數只返回第一個符合條件的 值,剩下的Case部分將會被自動忽略。