sql case when 用法

1 minute ago 1
sql case when 用法

SQL中,CASE WHEN 用法是进行条件判断和逻辑分支的工具,类似程序语言中的 if/then/else 语句。它有两种形式:

  1. 简单CASE表达式:对一个表达式的多个值进行比较,匹配对应的WHEN返回对应的结果。例如:
sql

CASE expression
  WHEN value1 THEN result1
  WHEN value2 THEN result2
  ELSE result_default
END
  1. 搜索CASE表达式:对多个条件逐一判断,满足哪个条件则返回对应结果,例如:
sql

CASE
  WHEN condition1 THEN result1
  WHEN condition2 THEN result2
  ELSE result_default
END

如果省略了 ELSE 子句且无匹配条件,返回 NULL。CASE WHEN 语句常用在 SELECT 查询中进行数据的条件转换,也可以用于聚合函数如 SUM 或 COUNT 进行分类统计,还能用于 WHERE 和 GROUP BY 子句实现复杂逻辑。 示例: 假设有一个问卷数据表 questionnaire,字段 Answer 代表答案编号:

sql

SELECT Name,
  CASE Answer
    WHEN 1 THEN '喜欢'
    WHEN 2 THEN '不喜欢'
    WHEN 3 THEN '还OK'
  END AS AnswerText
FROM questionnaire;

或者用搜索CASE写法:

sql

SELECT Name,
  CASE
    WHEN Answer = 1 THEN '喜欢'
    WHEN Answer = 2 THEN '不喜欢'
    WHEN Answer = 3 THEN '还OK'
  END AS AnswerText
FROM questionnaire;

案例中,CASE对Answer列的值进行判断并返回相应的中文文本。 总之,CASE WHEN是SQL中非常重要的条件控制语句,灵活应用可以实现数据转换、分类以及复杂的查询逻辑判断.