MySQL 教程
/ CASE
CASE
MySQL CASE 語句
CASE
語句遍歷條件并在滿足第一個條件時返回一個值(如 if-then-else 語句)。 因此,一旦條件為真,它將停止讀取并返回結(jié)果。 如果沒有條件為真,則返回 ELSE
子句中的值。
如果沒有ELSE
部分且沒有條件為真,則返回NULL。
CASE 語法
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2 WHEN
conditionN THEN resultN ELSE resultEND;
演示數(shù)據(jù)庫
以下是 Northwind 示例數(shù)據(jù)庫中"OrderDetails"表的選擇:
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
MySQL CASE 示例
以下 SQL 遍歷條件并在滿足第一個條件時返回一個值:
實例
SELECT OrderID, Quantity,CASE WHEN Quantity > 30
THEN 'The quantity is greater than 30' WHEN Quantity = 30 THEN 'The
quantity is 30' ELSE 'The quantity is under 30'END AS QuantityTextFROM OrderDetails;
»
以下 SQL 將按城市對客戶進行排序。 但是,如果 City 為 NULL,則按 Country 排序:
實例
SELECT CustomerName, City, CountryFROM CustomersORDER BY(CASE
WHEN City IS NULL THEN Country ELSE CityEND);
»