MySQL 教程

MySQL 教程 MySQL 简介 MySQL 管理系统

MySQL SQL 语句

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL Values MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN 和 MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL 通配符 MySQL IN MySQL BETWEEN MySQL 别名 MySQL 联接 MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL 自联接 MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL Null 函数 MySQL 注释 MySQL 运算符

MySQL 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 创建表 MySQL 删除表 MySQL 更改表 MySQL 约束 MySQL Not Null MySQL Unique MySQL Primary Key MySQL Foreign Key MySQL Check MySQL Default MySQL Create Index MySQL 自动增量 MySQL 日期 MySQL 视图

MySQL 参考手册

MySQL 数据类型 MySQL 函数

MySQL 实例

MySQL 实例 MySQL 测验 MySQL 练习

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);
亲自试一试 »

❮ MySQL 函数