今天查bug的时候发现了sql里面有如下语句

其中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语句中操作,将从数据库中查询出来的信息不要直接放入结果集中,而是将这些信息转换成页面需要显示的数据后再存入结果集中。(当然,完全看个人习惯,拿出来处理也是可取的)

if函数写并列条件 sql,SQL中的if函数相关推荐

  1. SQL语句中的数学函数

    SQL语句中的数学函数 开发工具与关键技术:SQL Server 2014.SQL语句中的数学函数 作者:袁何恩 撰写时间:2019年7月16日 今天,我要和大家分享的技术是SQL语句中的数学函数. ...

  2. 把Python函数转换成能在SQL语句中调用的函数

    感谢中国传媒大学胡凤国老师提供的案例和第一版代码! 问题描述:把Python函数转换为能在SQLite数据库SQL语句中调用的函数,这样可以大幅度扩展SQL语句的功能. 演示代码: 运行结果: 今天公 ...

  3. SQL Server中的STRING_SPLIT函数

    This article will cover the STRING_SPLIT function in SQL Server including an overview and detailed u ...

  4. percent sql_使用SQL Server中的PERCENT_RANK函数计算SQL百分位数

    percent sql This article explores the SQL Server PERCENT_RANK analytical function to calculate SQL P ...

  5. SQL语句中的SUBSTR()函数的使用

    SQL语句中的SUBSTR()函数的使用 substr()函数: substr()函数用于截取对应字段指定长度或者说是用来截取数据库某一列字段中的一部分. 在各个数据库的函数名称不同: MySQL: ...

  6. MS SQL Server2012中的EOMONTH函数

    MS SQL Server2012中的EOMONTH函数 这个函数是获取一个指定日期所在月份最后一天的日期.可以得到某一个月月份的最后一天 如: declare @orderdate date='20 ...

  7. pandas使用query函数基于判断条件获得dataframe中满足条件的数据行(row)的索引列表(index of rows matching conditions in dataframe)

    pandas使用query函数基于判断条件获得dataframe中满足条件的数据行(row)的索引列表(index of rows matching conditions in dataframe) ...

  8. SQL语句中:简单Case函数和Case搜索函数

    Case具有两种格式. 简单Case函数和Case搜索函数. --简单Case函数 CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女' ELSE '其他' END - ...

  9. sql游标 while_用SQL Server中的排名函数替换SQL While循环和游标,以提高查询性能

    sql游标 while SQL While loop and cursor are the most common approach to repeat a statement on conditio ...

最新文章

  1. 新的微芯片MCU增加了来自外部闪存的安全引导保护
  2. 常用eclipse插件集合, 持续更新
  3. ajax删除成功后的回调,Ajax成功回调'删除'不触发在Firefox中
  4. 突破C++瓶颈,在此一举!
  5. Spark内存管理(3)—— 统一内存管理设计理念
  6. Java银行开户,取钱,存钱,查询余额,退出。。。。。
  7. python大学什么专业学校_好学校的差专业和一般大学的好专业,该怎么选?我来说真话……...
  8. 典范杜希奇与机器人_典范英语7_16 杜希奇与机器人.ppt
  9. NextPermutation,寻找下一个全排列
  10. Pspice仿真模型创建
  11. python制作通讯录
  12. WARNING: The directory '/home/zhex/.cache/pip/http' or its parent directory is not owned by the curr
  13. BS4爬取物价局房产备案价以及dataframe的操作来获取房价的信息分析
  14. 利用c#快速知道哪些qq好友空间屏蔽了自己
  15. CSDN博客的文字颜色、字体和字号设置
  16. DDR3 ECC 应用总结
  17. 零代码制作客制化87键机械键盘
  18. 一文理解JVM虚拟机(内存、垃圾回收、性能优化)解决面试中遇到问题
  19. JS实现统计可供选择的任务分配方式总数
  20. 【蓝桥杯Web】2022年第十三届蓝桥杯Web大学组省赛真题解析(精华版)

热门文章

  1. uniapp实战——实现导航的基本结构
  2. 参考 | 辨别真假笔记本三星内存条 (ddr4)
  3. ADAMoracle广域节点喂价体系敲响预言机3.0时代大门
  4. restore还原不同名称的数据库_如何将数据库还原到新位置并使其具有新名称 (Transact-SQL)...
  5. sudo命令,配置sudo不要密码
  6. 安装win10专业版
  7. js-onSelectStart解释
  8. 致茂并购ESS扩大半导体测试应用市场;思特沃克发布未来技术趋势分析报告《科技棱镜》 | 全球TMT...
  9. Elasticsearch5.2.2进行数据聚合测试
  10. 微信小程序连接物联网(一):初始化ESP8266 NodeMCU