mysql中case when怎么使用-mysql教程
MySQL 中 CASE WHEN 语句的使用
问题:MySQL 中的 CASE WHEN 语句如何使用?
回答:
CASE WHEN 语句是一种条件语句,它允许根据指定的条件对数据执行不同的操作。它的语法如下:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
登录后复制
用法:
- 条件 (condition):每个 WHEN 子句都包含一个条件表达。条件可以是任何布尔表达式。如果条件为 true,则执行对应的 result。
- 结果 (result):每个 result 是要执行的动作或要返回的值。可以是常量、表达式或子查询。
- ELSE 子句:ELSE 子句是可选的,指定如果所有条件均为 false 时要执行的操作或要返回的值。
示例:
以下查询使用 CASE WHEN 语句根据分数将学生等级划分为 A、B、C、D 和 F:
SELECT name, score, CASE WHEN score >= 90 THEN 'A' WHEN score >= 80 THEN 'B' WHEN score >= 70 THEN 'C' WHEN score >= 60 THEN 'D' ELSE 'F' END AS grade FROM students;
登录后复制
输出:
name score grade Alice 95 A Bob 82 B Carol 76 C Dave 58 F
登录后复制
注意:
- CASE WHEN 语句可以通过使用多个 WHEN 子句来处理多个条件。
- 每个 WHEN 子句都可以有多个条件,使用 AND 或 OR 运算符连接。
- 如果没有 ELSE 子句,则当所有条件均为 false 时,CASE WHEN 语句将返回 null。
- CASE WHEN 语句可以嵌套,以根据复杂条件执行复杂操作。