case when 語句用于根據條件返回不同的值,其用法步驟為:指定條件:確定要評估的條件。指定結果:如果條件為 true,則返回的值。指定 else 子句:如果沒有條件為 true,則返回默認值(可選)。
SQL 中 CASE WHEN 語句的用法
CASE WHEN 語句是一種 SQL 查詢語言中的條件性表達式,用于根據指定的條件返回不同的值。其語法如下:
<code class="sql">CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END</code>
登錄后復制
用法步驟:
指定條件 (condition):確定要評估的條件。
指定結果 (result):如果條件為 true,則返回的值。
指定 ELSE 子句:如果沒有條件為 true,則返回默認值(可選)。
示例:
<code class="sql">SELECT CASE WHEN age > 18 THEN '成年' WHEN age >= 13 AND age </code>
登錄后復制
結果:
學生ID | 姓名 | 年齡 | 年齡類別 |
---|---|---|---|
1 | John | 20 | 成年 |
2 | Mary | 16 | 青少年 |
3 | Peter | 10 | 兒童 |
其他用法:
返回 NULL 值:可以將 ELSE 子句設置為 NULL,以在沒有條件為 true 時返回空值。
嵌套 CASE WHEN 語句:可以嵌套 CASE WHEN 語句,以處理更復雜的條件。
使用 CASE 表達式作為篩選條件:可以在 WHERE 子句中使用 CASE 表達式來篩選數據。
優點:
簡化復雜條件的查詢。
提高查詢的性能,因為服務器無需執行多個 IF-THEN 語句。
提供一種在 SQL 查詢中處理不同情況的簡潔方式。