case when 語句是一種條件語句,用于根據條件評估多個表達式并返回不同值。它從上到下評估條件,返回第一個為真的條件對應的值,如果沒有真條件,則返回默認值(可選)。
CASE WHEN 語句
定義:
SQL 中的 CASE WHEN 語句是一種條件語句,用于根據給定的條件比較來評估多個表達式。 它允許我們根據不同的情況返回不同的值。
語法:
<code class="sql">CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END</code>
登錄后復制
用法:
condition1
, condition2
, …:要評估的條件。
result1
, result2
, …:如果相應的條件為真,則要返回的值。
default_result
:如果所有條件都為假,則要返回的默認值(可選)。
工作原理:
CASE WHEN 語句從上到下評估條件,直到找到第一個為真的條件。 如果找到了真條件,則返回相應的 result
值。 如果沒有真條件,則返回 default_result
值(如果已指定)。
示例:
獲取學生成績等級:
<code class="sql">CASE WHEN grade >= 90 THEN 'A' WHEN grade >= 80 THEN 'B' WHEN grade >= 70 THEN 'C' WHEN grade >= 60 THEN 'D' ELSE 'F' END</code>
登錄后復制
優點:
簡化條件邏輯,避免使用嵌套的 IF-ELSE 語句。
提高代碼可讀性和可維護性。
注意:
CASE WHEN 語句可以包含多個分支。
default_result
是可選的,如果未指定,則結果將為 NULL。
比較條件使用 =
、>
、 等比較運算符。