case when 語句用于 sql 中根據指定條件評估表達式并返回不同值。它的語法包含 when 子句(條件表達式和返回表達式)、else 子句(默認表達式)和 end 關鍵字。它可用于各種場景,包括分配值、修改結果和轉換數據格式。
CASE WHEN 語句在 SQL 中的用法
CASE WHEN 語句是一種 SQL 查詢中的控制流語句,用于根據指定條件評估不同的表達式。其語法如下:
<code class="sql">CASE WHEN <condition> THEN <expression> WHEN <condition> THEN <expression> ... ELSE <default_expression> END</default_expression></expression></condition></expression></condition></code>
登錄后復制
用法:
條件(Condition):指定用于評估表達式的布爾表達式。
表達式(Expression):如果條件為真,則求值并返回的值。
默認表達式(Default_expression):當沒有條件為真時,求值并返回的值。
步驟:
確定要評估的條件:確定你想基于什么條件返回不同的值。
編寫 WHEN 子句:對于每個條件,使用 WHEN 子句指定條件和要返回的表達式。
添加 ELSE 子句:指定當所有條件都不滿足時的默認返回值(可選)。
結束 CASE 語句:使用 END 關鍵字結束 CASE 語句。
示例:
要根據客戶的年齡組為客戶分配折扣,可以使用以下 SQL 查詢:
<code class="sql">SELECT CASE WHEN age = 18 AND age = 25 AND age </code>
登錄后復制
在這個查詢中:
條件根據客戶的年齡對客戶進行分組。
表達式指定每個年齡組的折扣率。
默認表達式為 0.25,表示 35 歲以上的所有客戶的折扣率。
用例:
CASE WHEN 語句可用于各種場景,包括:
根據條件分配不同的值(如折扣或分類)。
基于條件修改查詢結果(如過濾或排序)。
轉換數據格式(如將文本轉換為數字)。