case when語句是oracle常用的語句之一,這里有兩種書寫方式,一種是簡單CASE表達(dá)式,使用表達(dá)式確定返回值,一種是搜索CASE表達(dá)式,使用條件確定返回值
簡單CASE表達(dá)式,使用表達(dá)式確定返回值
語法:
CASE search_expression
WHEN expression1 THEN result1
WHEN expression2 THEN result2
...
WHEN expressionN THEN resultN
ELSE default_result
END
搜索CASE表達(dá)式,使用條件確定返回值
語法:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
END
例如我們有這樣一張表:

分別使用兩種方式來查詢
1.簡單CASE表達(dá)式
SELECT phone_name,
CASE
WHEN phone_color='white' THEN '白色'
WHEN phone_color='gold' THEN '金色'
WHEN phone_color='black' THEN '黑色'
ELSE '不知道'
END phone_color,
phone_system
FROM test_phone
2.搜索CASE表達(dá)式,使用條件確定返回值
SELECT phone_name,
CASE phone_color
WHEN 'white' THEN '白色'
WHEN 'gold' THEN '金色'
WHEN 'black' THEN '黑色'
ELSE '不知道'
END phone_color,
phone_system
FROM test_phone
以上兩種方式最終的結(jié)果都是:

---------------------
原文:https://blog.csdn.net/wanlin77/article/details/80633616