SQL——coalesce函数详解「建议收藏」

SQL——coalesce函数详解「建议收藏」最近写SQL的过程中,学习到一个非常有用的函数:coalesce。特别是在做统计的时候,这个函数作为条件可以兼顾到一些特殊情况。这里做一下总结和分享。用途:(1):将控制替换成其他值;(2):返回第一个非空值表达式COALESCE是一个函数,(expression_1,expression_2,…,expression_n)依次参考各参数表达式,遇到非null值即停止并返…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

知乎主页:知乎主页https://www.zhihu.com/people/shuang-shou-cha-dai-53SQL——coalesce函数详解「建议收藏」https://www.zhihu.com/people/shuang-shou-cha-dai-53

最近写SQL的过程中,学习到一个非常有用的函数:coalesce。特别是在做统计的时候,这个函数作为条件可以兼顾到一些特殊情况。这里做一下总结和分享。

  • 用途:

(1):将控制替换成其他值;

(2):返回第一个非空值

  • 表达式

COALESCE是一个函数, (expression_1, expression_2, …,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。

  • SQL实例
select coalesce(success_cnt, 1) from tableA

当success_cnt 为null值的时候,将返回1,否则将返回success_cnt的真实值。

select coalesce(success_cnt,period,1) from tableA

当success_cnt不为null,那么无论period是否为null,都将返回success_cnt的真实值(因为success_cnt是第一个参数),当success_cnt为null,而period不为null的时候,返回period的真实值。只有当success_cnt和period均为null的时候,将返回1。

知乎主页:

知乎主页https://www.zhihu.com/people/shuang-shou-cha-dai-53SQL——coalesce函数详解「建议收藏」https://www.zhihu.com/people/shuang-shou-cha-dai-53

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171244.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java BigDecimal用法详解(保留小数,四舍五入,数字格式化,科学计数法转数字等)

    java BigDecimal用法详解(保留小数,四舍五入,数字格式化,科学计数法转数字等)一、简介Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+…

    2022年6月1日
  • pycharm可以打开ipynb文件吗_pycharm怎么运行ipynb文件

    pycharm可以打开ipynb文件吗_pycharm怎么运行ipynb文件Anaconda和Jupyter用得多,但是对于配置非常头痛,昨天jupyter无论如何都启动不了服务,重装了anaconda两次终于找到错误原因在哪了背景我的Pycharm下面有很多Project,每个Project一个Anaconda环境,昨天新开了一个Project叫CLRS_Code,Anaconda环境名也叫然后我之前没有在Pycharm里面用过Jupyter,突然想试试这个功能,然后就新建…

    2022年8月25日
  • Java中高级工程师面试题及答案,Java面试题及答案汇总(二

    Java中高级工程师面试题及答案,Java面试题及答案汇总(二需要注意Jdk1.8中对HashMap的实现做了优化,当链表中的节点数据超过八个之后,该链表会转为红黑树来提高查询效率,从原来的O(n)到O(logn)24.说一下HashSet的实现原理?HashSet底层由HashMap实现HashSet的值存放于HashMap的key上HashMap的value统一为PRESENT25.ArrayList和LinkedList的区别是什么?最明显的区别是ArrrayList底层的数据结构是数组,支持随机访问,而Linke

    2022年5月11日
  • 学英语网络资源推荐

    学英语网络资源推荐1.推荐标准和目的2.中国十佳英语学习网站推荐3.学英语Web资源推荐4.在线辞典大全5.语法网站列表6.英语新闻网站大全7.英文电影网站大全返回1.推荐标准和目的希望能对了解英语(文化)不多的国内英语初学者(尤其是社会人士)有所帮助。希望打开初学者利用Internet学习英语的…

    2022年5月25日
  • msiexec用法详解

    msiexec用法详解在系统管理中,尤其是静默安装和卸载软件的时候,该命令就会经常用到,详细用户如下:(本文拷贝自微软网站)msiexec/Option<RequiredParameter>[OptionalParameter]安装选项 </package|/i><Product.msi> 安装或配置产品 /a<Product.msi&…

    2022年10月25日
  • html中图片自动循环滚动代码,实现长图片自动循环滚动效果[通俗易懂]

    html中图片自动循环滚动代码,实现长图片自动循环滚动效果[通俗易懂]实现思路滚动效果用实现。有个方法,可以滚动到指定位置(有滚动效果,不是直接到指定位置),不了解的看这里种定位滚动方式演示。每一个Item是一张长图,这样首尾相接滚动起来(滚到无限远)就是无限循环的效果,然后再改变滚动的速度,就可以了。{;@(){(savedInstanceState);//全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG…

    2022年7月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号