MySQL 入门:Case 语句很好用

MySQL CASE 函数

❮ MySQL 函数

实例

遍历条件并在满足第一个条件时返回一个值:

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部分且没有条件为真,则返回NULL。

语法

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

参数值

参数描述
condition1, condition2, …conditionN必需。条件。 它们的评估顺序与列出的顺序相同
result1, result2, …resultN必需。条件为真时返回的值

技术细节

适用于:From 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);

亲自试一试 »