sql中的when和case是用于條件檢查和返回指定值的關鍵字。when用于指定條件,如果條件為真,則執行隨后的語句;case是控制流語句,根據滿足的條件執行不同的語句,語法為:case when then when then … else end。條件可以是任何有效的sql表達式,示例:select cas
SQL 中的 WHEN 和 CASE
什么是 WHEN 和 CASE?
WHEN 和 CASE 是 SQL 中用于執行條件檢查和返回指定值的一組關鍵字。
WHEN
WHEN 是一個條件性關鍵字,用于在 CASE 語句中指定條件。
如果條件為真,則執行隨后的語句。
CASE
CASE 是一個控制流語句,用于根據滿足的條件執行不同的語句。
CASE 語句由一個或多個 WHEN 子句和一個可選的 ELSE 子句組成。
如何使用 WHEN 和 CASE
CASE 語句的一般語法如下:
<code class="sql">CASE WHEN <condition1> THEN <result1> WHEN <condition2> THEN <result2> ... ELSE <default_result> END</default_result></result2></condition2></result1></condition1></code>
登錄后復制
條件可以是任何有效的 SQL 表達式,例如比較、邏輯運算或子查詢。
示例
以下示例使用 CASE 語句返回客戶狀態:
<code class="sql">SELECT CASE WHEN status = 'A' THEN 'Active' WHEN status = 'I' THEN 'Inactive' ELSE 'Unknown' END AS customer_status FROM customers;</code>
登錄后復制
其他提示
可以使用多個 WHEN 子句來處理多個條件。
ELSE 子句是可選的,用于處理不滿足任何其他條件的情況。
CASE 語句的結果可以是任何數據類型。
WHEN 和 CASE 可用于處理復雜條件并動態生成結果。