case 语句用于根据条件返回不同值。语法:case when condition then result when condition then result ... else default_result end。用法:1. 指定条件;2. 返回条件为真的结果;3. 使用 else 子句指定所有条件都为假时的默认结果。
SQL 中的 CASE 语句用法
CASE 语句在 SQL 中用于根据不同的条件返回不同的值。它的语法如下:
<code class="sql">CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
用法:
- 指定条件:使用 WHEN 子句指定要检查的条件。
- 返回结果:如果条件为真,则返回关联的 result 值。
- 默认结果:使用 ELSE 子句指定如果所有条件均为假时要返回的值。
示例:
<code class="sql">-- 根据分数计算成绩等级
SELECT
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;
更多选项:
- 多个 CASE 语句:可以使用嵌套 CASE 语句来处理更复杂的情况。
- SEARCH 条件:使用 SEARCH 子句在字符串中搜索模式并返回匹配项。
- NULLIF 条件:使用 NULLIF 子句检查值是否为 NULL,如果是则返回一个指定的 NULL 值。
优势:
- 提供一种简洁的方式来处理不同条件。
- 提高查询的可读性和可维护性。
- 消除对 IF-ELSE 语句的需要。
注意事项:
- 必须指定 ELSE 子句以确保返回一个值。
- WHEN 子句的条件必须是互斥的。