mysql sql的case when 写法
时间: 2023-11-15 11:02:38 浏览: 143
MySQL SQL中的CASE WHEN语句是一种条件表达式,它可以根据条件返回不同的值。CASE WHEN语句有两种写法,一种是当字段值为枚举类型时,另一种是当字段值不是枚举类型时,而是根据一定的条件进行处理。下面分别介绍这两种写法:
1. 当字段值为枚举类型时,CASE WHEN语句的写法如下:
CASE 字段名
WHEN 枚举值1 THEN 返回值1
WHEN 枚举值2 THEN 返回值2
...
ELSE 返回值n
END
例如,当我们有一个性别字段sex,其中0表示男性,1表示女性,2表示未知,我们可以使用以下语句将其转换为中文:
SELECT CASE sex
WHEN 0 THEN '男'
WHEN 1 THEN '女'
ELSE '未知'
END AS '性别'
FROM user;
2. 当字段值不是枚举类型时,而是根据一定的条件进行处理时,CASE WHEN语句的写法如下:
CASE
WHEN 条件1 THEN 返回值1
WHEN 条件2 THEN 返回值2
...
ELSE 返回值n
END
例如,当我们有一个学生成绩表score_info,其中score字段表示学生成绩,我们可以使用以下语句将其转换为成绩等级:
SELECT student_name, score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS '成绩等级'
FROM score_info;
阅读全文