sql中两种情况判断(if函数)、多种情况判断(case .. when...) 您所在的位置:网站首页 sql多条件查询函数 sql中两种情况判断(if函数)、多种情况判断(case .. when...)

sql中两种情况判断(if函数)、多种情况判断(case .. when...)

2023-07-16 18:28| 来源: 网络整理| 查看: 265

原地址:https://segmentfault.com/a/1190000009676728

sum(if(actual_num>0, share_post,0))

其中SUM的意思浅显易懂,求和嘛。IF也十分清晰:判断嘛。而且if的第一个参数很明显就是条件,那另外两个参数是什么呢? 查了一下资料: 语法:IF(expr1,expr2,expr3) 其中,expr1是判断条件,expr2和expr3是符合expr1的自定义的返回结果。 用处:当从数据库中查询出来的结果需要转换成中文或是其他自定义的格式显示在网页上的时候,可以直接在sql中处理 咳咳,看懂了么?第二个参数和第三个参数是结果。。。那用哪个呢? 简单通俗的解释是这样的: if(a,b,c)如果a成立,执行b,不成立执行C 好吧,其实就是这么简单。 所以,图片中的这个语句意思就是:如果actual_num>0的话,就求share_post的和,否则就是0(其实是对0求和,还是0) 我们可以看出,如果数据表中的某个字段只有两种情况,可以使用if函数。

扩展:

上面说如果数据表中的某个字段只有两种情况,可以使用if函数,那多余两种情况呢? 在查资料的时候我看到了一个大神的分享: 如果数据表中的某字段多余两种情况时,可以使用case...when 举例如下:

select case when oi.order_type_id='SALE' then '销售' when oi.order_type_id='PURCHASE' then '采购' end as 订单类型 from order_info as oi;

然后在结果集中取出字段名为‘订单类型’的数据即可。 我们一般的习惯都是在数据库查出来字段,然后在代码中处理数据的显示,但是这样做比较麻烦,使用case...when的方法可以直接显示我们所要的。可以直接在sql语句中操作,将从数据库中查询出来的信息不要直接放入结果集中,而是将这些信息转换成页面需要显示的数据后再存入结果集中。(当然,完全看个人习惯,拿出来处理也是可取的)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有