首頁  >  文章  >  資料庫  >  sql中case when語句的用法

sql中case when語句的用法

下次还敢
下次还敢原創
2024-04-28 12:06:15719瀏覽

CASE WHEN 語句用於 SQL 中根據指定條件評估表達式並傳回不同值。它的語法包含 WHEN 子句(條件表達式和傳回表達式)、ELSE 子句(預設表達式)和 END 關鍵字。它可用於各種場景,包括分配值、修改結果和轉換資料格式。

sql中case when語句的用法

CASE WHEN 語句在SQL 中的用法

CASE WHEN 語句是一種SQL 查詢中的控制流語句,用於根據指定條件評估不同的表達式。其語法如下:

<code class="sql">CASE
  WHEN <condition 1> THEN <expression 1>
  WHEN <condition 2> THEN <expression 2>
  ...
  ELSE <default_expression>
END</code>

用法:

  • #條件(Condition):指定用於評估表達式的布林表達式。
  • 表達式(Expression):如果條件為真,則求值並傳回的值。
  • 預設表達式(Default_expression):當沒有條件為真時,求值並傳回的值。

步驟:

  1. 確定要評估的條件:確定你想基於什麼條件回傳不同的值。
  2. 寫 WHEN 子句:對於每個條件,使用 WHEN 子句指定條件和要傳回的表達式。
  3. 新增 ELSE 子句:指定當所有條件都不滿足時的預設回傳值(可選)。
  4. 結束 CASE 語句:使用 END 關鍵字結束 CASE 語句。

範例:

要根據客戶的年齡群組為客戶指派折扣,可以使用下列SQL 查詢:

<code class="sql">SELECT CASE
  WHEN age < 18 THEN 0.1
  WHEN age >= 18 AND age < 25 THEN 0.15
  WHEN age >= 25 AND age < 35 THEN 0.2
  ELSE 0.25
END AS discount
FROM customers;</code>

在這個查詢中:

  • 條件根據客戶的年齡將客戶分組。
  • 表達式指定每個年齡組的折扣率。
  • 預設表達式為 0.25,表示 35 歲以上的所有客戶的折扣率。

用例:

CASE WHEN 語句可用於各種場景,包括:

    ##根據條件分配不同的值(如折扣或分類)。
  • 基於條件修改查詢結果(如篩選或排序)。
  • 轉換資料格式(如將文字轉換為數字)。

以上是sql中case when語句的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn