遍历条件并在满足第一个条件时返回一个值:
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
FROM OrderDetails;
亲自试一试 »
CASE 语句遍历条件并在满足第一个条件时返回一个值(类似于 IF-THEN-ELSE 语句)。因此,一旦条件成立,它将停止读取并返回结果。
如果没有条件成立,它将返回 ELSE 子句中的值。
如果没有 ELSE 部分并且没有条件为 true,则返回 NULL。
CASE
WHEN
condition1 THEN
result1
WHEN
condition2 THEN
result2
WHEN
conditionN THEN
resultN
ELSE
result
END;
Parameter | Description |
---|---|
condition1, condition2, ...conditionN | Required. The conditions. These are evaluated in the same order as they are listed |
result1, result2, ...resultN | Required. The value to return once a condition is true |
工作于: | 从 MySQL 4.0 开始 |
---|
以下 SQL 将按城市对客户进行排序。但是,如果 City 为 NULL,则按 Country 排序:
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
亲自试一试 »
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!