case when 的用法詳解
回答
愛揚(yáng)教育
2022-04-25
- 相關(guān)推薦
格式:
CASE WHEN condition THEN result
[WHEN...THEN...]
ELSE result
END
condition是一個(gè)返回布爾類型的表達(dá)式,如果表達(dá)式返回true,則整個(gè)函數(shù)返回相應(yīng)result的值。
擴(kuò)展資料
簡單CASE WHEN函數(shù):
CASE SCORE WHEN 'A' THEN '優(yōu)' ELSE '不及格' END
CASE SCORE WHEN 'B' THEN '良' ELSE '不及格' END
CASE SCORE WHEN 'C' THEN '中' ELSE '不及格' END
等同于,使用CASE WHEN條件表達(dá)式函數(shù)實(shí)現(xiàn):
CASE WHEN SCORE = 'A' THEN '優(yōu)'
WHEN SCORE = 'B' THEN '良'
WHEN SCORE = 'C' THEN '中' ELSE '不及格' END
THEN 后邊的值與 ELSE 后邊的值類型應(yīng)一致,否則會報(bào)錯(cuò)。如下:
CASE SCORE WHEN 'A' THEN '優(yōu)' ELSE 0 END
'優(yōu)'和0數(shù)據(jù)類型不一致則報(bào)錯(cuò):
[Err] ORA-00932: 數(shù)據(jù)類型不一致: 應(yīng)為 CHAR, 但卻獲得 NUMBER