![aeaf5da29f60194eb4980d37deca1389.png](https://i-blog.csdnimg.cn/blog_migrate/4e252bf5d827fada88ff9eaed4eedb8d.jpeg)
前言
在众多SQL中,统计型SQL绝对是让人头疼的一类,之所以如此,是因为这种SQL中必然有大量的判读对比。而条件判断函数就是应对这类需求的利器。本文重点总结CASE WHEN
、IF
、IFNULL
三种函数。
![c66140ac925e0d1f7f554733835ecbd4.png](https://i-blog.csdnimg.cn/blog_migrate/04c7d152b538c6af888f6644582c27b9.jpeg)
1 CASE WHEN
Case when语句能在SQL语句中织入判断逻辑,类似于Java中的if else语句。
CASE WHEN语句分为简单函数和条件表达式。
1、简单函数
CASE 字段 WHEN 预期值 THEN 结果1 ELSE 结果2 END
如果字段值等于预期值,则返回结果1,否则返回结果2。
下面通过一个简单的示例来看一下具体用法。
表score:
![2b8a7a77bf12298df3be7d58103f9273.png](https://i-blog.csdnimg.cn/blog_migrate/fad815483b8c26c35dd69bf1e9745f5f.jpeg)
场景:在score表中,sex为1表示男性,sex=0表示女性,查询时转换成汉字显示。
SQL语句:
SELECT name,(CASE sex WHEN 0 THEN '女' ELSE '男' END) sex FROM score
结果: