CASE 關鍵字 (SQL CASE Keyword)
CASE 類似於程式語言裡的 if/then/else 語句,用來作邏輯判斷。
CASE 語法 (SQL CASE Syntax)
CASE
WHEN condition THEN result
[WHEN···]
[ELSE result]
END;
或是:
CASE expression
WHEN value THEN result
[WHEN···]
[ELSE result]
END;
若省略了 ELSE 子句且洽無相符的條件則會返回 NULL。
CASE 關鍵字用法 (Example)
假設我們作一個問卷調查:您喜歡這個網站嗎? 1.喜歡 2.不喜歡 3.還OK
問卷結果資料表 questionnaire 如下:
Name | Answer |
---|---|
張一 | 1 |
王二 | 2 |
李三 | 3 |
我們可以作以下這個 SQL 查詢:
select Name, case Answer
when 1 then '喜歡'
when 2 then '不喜歡'
when 3 then '還OK'
END
FROM questionnaire;
或是:
select Name, case
when Answer=1 then '喜歡'
when Answer=2 then '不喜歡'
when Answer=3 then '還OK'
END
AS Answer
FROM questionnaire;
查詢結果如下:
Name | Answer |
---|---|
張一 | 喜歡 |
王二 | 不喜歡 |
李三 | 還OK |