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);
自己动手试一试 »