CASE WHEN語句是SQL中的一種條件判斷語句,用于根據不同的條件返回不同的值。
基本語法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
其中,condition1、condition2等是條件表達式,可以是任意的布爾表達式。result1、result2等是根據條件計算得到的結果。
下面是一個示例,根據不同的成績等級返回對應的評語:
SELECT grade,
CASE
WHEN grade >= 90 THEN '優秀'
WHEN grade >= 80 THEN '良好'
WHEN grade >= 70 THEN '中等'
WHEN grade >= 60 THEN '及格'
ELSE '不及格'
END AS comment
FROM scores;
在這個例子中,根據成績grade的不同范圍,返回對應的評語comment。如果成績大于等于90,則評語為’優秀’,如果成績在80到89之間,則評語為’良好’,以此類推。
需要注意的是,CASE WHEN語句是按照順序判斷的,只有第一個滿足條件的結果會被返回。如果沒有滿足條件的結果,則返回ELSE后面的result。
CASE WHEN語句也可以嵌套使用,這樣可以實現更復雜的條件判斷。