知乎主页:知乎主页https://www.zhihu.com/people/shuang-shou-cha-dai-53https://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-53https://www.zhihu.com/people/shuang-shou-cha-dai-53

SQL——coalesce函数详解相关推荐

  1. mysql coalesce函数用法,SQL Server COALESCE函数详解及实例

    SQL Server COALESCE函数详解 很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止 ...

  2. coalesce()函数详解

    coalesce()函数 返回列表中第一个非Null表达式的值.如果所有表达式求值为Null,则返回Null. coalesce (expression_1, expression_2, ...,ex ...

  3. coalesce 函数详解与学习记录

    1.在工作中都用到了此函数,特此学习并记录一下. 2.coalesce 用途: 1.将空值替换成其他值: 2.返回第一个非空值 3.SQL实例​​​​​​​一 select coalesce(succ ...

  4. Hive SQL开窗函数详解

    Hive 开窗函数 group by 是分组函数,一组出来一个数据 over() 开窗,针对每一条数据,都有一个独立的组 mk 3 jk 3 mk 3 select orderdate,cost,su ...

  5. 基于hive的SQL排名函数详解

    前言 在hive的学习中接触到了三种很实用的排名函数,这些函数在Mysql8.0版本中也已存在, 分别是:Rank(),Dense_rank(),Row_number(), 虽然都是排名函数,但三者间 ...

  6. MaxCompute SQL函数详解 ODPS SQL函数详解---之日期相关函数

    MaxCompute SQL函数详解 ODPS SQL函数详解 日期函数 to_date函数 返回类型:datetime 语法:to_date(类型 参数1,类型 参数2);to_date(strin ...

  7. MaxCompute SQL函数详解 ODPS SQL函数详解---之常用数学运算相关函数

    MaxCompute SQL函数详解 ODPS SQL函数详解---之常用数学运算相关函数 MaxCompute/ODPS SQL常用数学运算相关函数 ABS函数-计算绝对值 sql:select A ...

  8. 在oracle中游标的操作,Oracle中的游标和函数详解

    Oracle中的游标和函数详解 1.游标 游标是一种 PL/SQL 控制结构:可以对 SQL 语句的处理进行显示控制,便于对表的行数据 逐条进行处理. 游标并不是一个数据库对象,只是存留在内存中. 操 ...

  9. mysql创建存储过程及函数详解

    文章来源: 学习通http://www.bdgxy.com/ 目录 1. 存储过程 1.1. 基本语法 1.2 创建一个指定执行权限的存储过程 1.3?DELIMITER 的使用 2. 创建函数? 1 ...

最新文章

  1. Hololens2-OpenXR开发(二)-实现通讯
  2. win7下一次加载和调试sys驱动程序的过程以及捕捉到内核打印字符串函数的输出
  3. Scrapy框架的学习(12. scrapy中的模拟登陆,发送post请求模拟登陆)
  4. python语言及其应用电子版翁正秋_Python语言及其应用pdf
  5. VC6、BC5、G2.9标准分配器一览
  6. Hybrid A*论文解析(2)
  7. iOS 5与iOS 6的 low-memory 处理
  8. BZOJ2300[HAOI2011] 防线修建
  9. 灵悟礼品网上专卖店——画出项目的主要框架
  10. Adobe reader 的书签问题
  11. 侦探小明:如何判断电脑里突然出现的流氓广告来自哪个软件?
  12. Autojs对接图灵机器人
  13. 系统完全优化 全面剖析XP
  14. STM32之DS1682
  15. Vue-router路由转发
  16. oracle 落落是谁,落落是老虎妖精吗?落落的父母是什么身份?
  17. WZOI-314石头剪子布
  18. 《人类简史》--摘录
  19. Python “ValueError: incomplete format” upon print(“stuff %” % “thingy”) 解决方法
  20. 一阶常系数微分方程组的笔记

热门文章

  1. 如何增强自己的UI审美,如何提高自己的产品平面设计的能力呢?
  2. Spring ——Bean(IOC)容器
  3. 尝试运行C:/WINDOWS/system32/NvCpl.dll.NvStartup时发生意外解决办法
  4. linux怎么防火墙关闭端口,Linux防火墙的关闭或端口的开放
  5. 解决了一个每次开机都出现rundll错误的问题
  6. OpenCV-Python入门
  7. xhr添加header
  8. nginx 500错误
  9. easy connect for Mac 详细安装教程
  10. 哪吒之魔童降世——豆瓣电影评论爬虫