当前位置:   article > 正文

MySQL if else的格式_mysql if--else

mysql if else 格式

case具有两种格式。简单case函数和case搜索函数。

48304ba5e6f9fe08f3fa1abda7d326ab.png

--简单case函数

case sex

when '1' then '男'

when '2' then '女’

else '其他' end

--case搜索函数

case when sex = '1' then '男'

when sex = '2' then '女'

else '其他' end

48304ba5e6f9fe08f3fa1abda7d326ab.png

这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式。

还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。

--比如说,下面这段sql,你永远无法得到“第二类”这个结果

case when col_1 in ('a','b') then '第一类'

when col_1 in ('a') then '第二类'

else '其他' end

下面实例演示:

3、将sum与case结合使用,可以实现分段统计。

如果现在希望将上表中各种性别的人数进行统计,sql语句如下:

48304ba5e6f9fe08f3fa1abda7d326ab.png

SQL> select

2 sum(case u.sex when 1 then 1 else 0 end)男性,

3 sum(case u.sex when 2 then 1 else 0 end)女性,

4 sum(case when u.sex <>1 and u.sex<>2 then 1 else 0 end)性别为空

5 from users u;

男性 女性 性别为空

---------- ---------- ----------

3 2 0

--------------------------------------------------------------------------------

SQL> select

2 count(case when u.sex=1 then 1 end)男性,

3 count(case when u.sex=2 then 1 end)女,

4 count(case when u.sex <>1 and u.sex<>2 then 1 end)性别为空

5 from users u;

男性 女 性别为空

---------- ---------- ----------

3 2 0

48304ba5e6f9fe08f3fa1abda7d326ab.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/485235
推荐阅读
相关标签
  

闽ICP备14008679号