首頁  >  文章  >  資料庫  >  mysql的case when怎麼用

mysql的case when怎麼用

WBOY
WBOY原創
2022-08-01 17:32:4913121瀏覽

在mysql中,「case when」用於計算條件列表並傳回多個可能結果表達式之一;「case when」具有兩種語法格式:1、簡單函數「CASE[col_name]WHEN [value1]THEN[result1]…ELSE[default]END」;2、搜尋函數「CASE WHEN[expr]THEN[result1]…ELSE[default]END」。

mysql的case when怎麼用

本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。

mysql的case when怎麼用

case when語句,用來計算條件列表並傳回多個可能結果表達式之一。

CASE 有兩種格式:簡單 CASE 函數將某個表達式與一組簡單表達式進行比較以確定結果。 CASE 搜尋函數計算一組布林表達式以確定結果。兩種格式都支援可選的 ELSE 參數。

在做資料分析的時候,需要從資料庫中尋找資料並進行分析展示,準確的資料查詢結果有利於後期簡潔有效的分析。這段期間用到了 mysql中的case when,記錄一下case when的用法。

CASE語句為多分支語句結構,該語句首先從WHEN後的VALUE中查找與CASE後的VALUE相等的值,如果查找到,則執行該分支的內容,否則執行ELSE後面的內容。

MySql的case when 語法有兩種:

1、簡單函數

CASE[col_name]WHEN[value1]THEN[result1]…ELSE[default]END

2、搜尋函數

CASE WHEN[expr]THEN[result1]…ELSE[default]END

簡單函數

CASE input_expression
WHEN when_expression THEN
    result_expression [...n ] [
ELSE
    else_result_expression
END

枚舉Input_expression所有可能的值。

Input_expression 和每個 when_expression 的資料型別必須相同,或是隱性轉換。

搜尋函數

CASE WHEN [Boolean_expression] THEN [result1]…ELSE [default] END

判斷Boolean_expression表達式,如果滿足,返回then後邊的結果

以人員表為例

mysql的case when怎麼用

#第一種用法,when後邊必須接case列的值,不能是表達式

select case sex when sex='1' then '男' when sex='2' then '女' else '其他' end as '性别' from people;
select case sex when sex='2' then '女' when sex='1' then '男' else '其他' end as '性别' from people;

查詢結果

mysql的case when怎麼用

#原因:因為when後邊不是case列的所有可能值,而是表達式,但是為什麼會出現'男'這樣的結果,需要思考,後邊研究明白後,再更新

正確寫法

select case sex when '1' then '男' when '2' then '女' else '其他' end as '性别' from people;

查詢結果

mysql的case when怎麼用

推薦學習:mysql影片教學

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

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