case when的使用情况有三种
- 等值转换
- 范围转换
- 列转行操作
1.等值转换
设计数据库的时候总会把用户的性别用int存储('0’为女,'1’为男),但是怎么把它抓换成汉子显示呢?
sql语句
select name as '姓名',
(case sex when 0 then '女' else '男' end) as '性别'
from test.student;
最后的end要记得写,查询结果
2.范围转换
按照用户成绩显示优(90分以上)、良(80分-90分)、及格(60分-80分)、不及格(60分一下)
sql语句
select name as '姓名',
(case when score > 90 then '优' when score >= 80 then '良' when score >= 60 then '及格' else '不及格' end) as '等级'
from test.stu_score;
运行结果