轻松上手,快乐学习!

MySQL CASE 函数


实例

判断:
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 必须项。条件为真时返回的值

技术细节

适用于: 从MySQL 4.0

更多实例

以下SQL将按City 排列客户。但是,如果City为NULL,则按Country排序:

实例

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);
运行实例»