• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

MySQL/MariaDB 資料庫 CASE 多條件判斷用法教學與範例

介紹如何在 MySQL/MariaDB 資料庫中使用 CASE 進行多種條件的判斷。

CASE 多條件判斷

CASE 的作用跟 IF 條件判斷很類似,主要的差異是它可以處理多種條件的判斷,根據不同的情況傳回不同的結果:

CASE
    WHEN 條件1 THEN 結果1
    WHEN 條件2 THEN 結果2
    ...
    ELSE 其他結果
END

實際應用範例一

WEEKDAY 可用來查詢某個日期是禮拜幾:

-- 查詢今天禮拜幾
SELECT WEEKDAY(CURDATE());
+--------------------+
| WEEKDAY(CURDATE()) |
+--------------------+
|                  0 |
+--------------------+

0 代表禮拜一,而 6 代表禮拜日,我們可以用以下的 CASE 語法,將原始的數字轉為我們需要的文字:

-- CASE 多條件判斷
SELECT CASE
    WHEN WEEKDAY(CURDATE()) = 5 THEN "週六"
    WHEN WEEKDAY(CURDATE()) = 6 THEN "週日"
    ELSE "上班日"
END AS result;
+-----------+
| result    |
+-----------+
| 上班日    |
+-----------+

實際應用範例二

假設我們有一些人員的資料如下:

SELECT * FROM user_table;
+----+-------+------+
| id | name  | age  |
+----+-------+------+
|  5 | John  |   23 |
|  6 | Mary  |   45 |
|  7 | Joe   |   15 |
|  8 | Smith |   21 |
+----+-------+------+

如果我們希望依照年齡將人員區分為三組,未滿 20 歲稱為 Young,20 到 40 歲稱為 Middle-aged,而 40 歲以上稱為 Old,可以這樣寫:

-- CASE 多條件判斷
SELECT name, age,
CASE
    WHEN age < 20 THEN "Young"
    WHEN age < 40 THEN "Middle-aged"
    ELSE "Old"
END AS grp
FROM user_table;
+-------+------+-------------+
| name  | age  | grp         |
+-------+------+-------------+
| John  |   23 | Middle-aged |
| Mary  |   45 | Old         |
| Joe   |   15 | Young       |
| Smith |   21 | Middle-aged |
+-------+------+-------------+

分類:資料庫 標籤:MySQL/MariaDB

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • Linux 檢查、測試 CPU AES-NI 硬體加速加密指令集教學
  • CentOS Linux 7.9 自行編譯、安裝 OpenSSH 9.0p1 伺服器教學與範例
  • Python 使用 zipfile 模組壓縮、解壓縮 ZIP 檔案教學與範例
  • Python 以 LINE Notify 自動傳送即時訊息、圖片教學與範例
  • Linux 使用 Prometheus 與 Grafana 監控伺服器狀態、發送告警 Email 簡訊教學與範例
  • Linux 設定 pam_tty_audit 記錄 SSH 使用者操作指令教學與範例
  • Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
  • Python 使用 pytube 自動下載 YouTube 影片教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide