MySQL CASE 函式
示例
遍歷條件並返回第一個滿足的條件的值
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30 THEN "數量大於 30"
WHEN Quantity = 30 THEN "數量等於 30"
ELSE "數量小於 30"
END
FROM OrderDetails;
自己動手試一試 »
定義和用法
CASE 語句會遍歷條件,並在第一個條件滿足時返回一個值(類似於 IF-THEN-ELSE 語句)。因此,一旦一個條件為真,它將停止讀取並返回結果。
如果沒有條件為真,它將返回 ELSE 子句中的值。
如果沒有 ELSE 部分且沒有條件為真,則返回 NULL。
語法
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
引數值
引數 | 描述 |
---|---|
condition1, condition2, ...conditionN | 必需。條件。這些條件將按照列出的順序進行評估 |
result1, result2, ...resultN | 必需。一旦條件為真,將返回的值 |
技術詳情
支援版本 | 從 MySQL 4.0 開始 |
---|
更多示例
以下 SQL 語句將按城市對客戶進行排序。但是,如果城市為 NULL,則按國家排序
示例
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
自己動手試一試 »