最近在看代码时,看到case...when这样的sql语句,上网查了一下,然后分享给大家。
#第一种写法
SELECT name,CASE sex #sex表示表中的字段名
WHEN 1 THEN #when表示符合sex=1的条件然后执行then后边的语句,此处表示当sex=1时sex='男'
'男'
WHEN 2 THEN #此处表示当sex=2时sex='女'
'女'
ELSE #else表示不满足when里面条件的其他值,此处将表中sex=0替换为sex='其他'
'其他'
END as 性别 #end表示结束,后边什么也不写查询出来的列名会很长,as表示给该列起别名,可以省略不写
FROM student
#第二种写法
SELECT name,CASE
WHEN sex=1 THEN
'男'
WHEN sex=2 THEN
'女'
ELSE
'其他'
END as 性别
FROM student
#第三种写法
SELECT name,CASE sex
WHEN sex=1 THEN
'男'
WHEN sex=2 THEN
'女'
ELSE
'其他'
END as 性别
FROM student
演示效果:
数据库中最初的数据:
end后不加别名的查询结果:
end后加别名的结果: