知乎主页:知乎主页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. TCP通过滑动窗口和拥塞窗口实现限流,能抵御ddos攻击吗
  2. 在LinearLayout中嵌套RelativeLayout来设置Button的位置(xml文件)
  3. Arduino/Microduino与OneNet平台及web服务器端的交互
  4. show一下自己的文档编写功底
  5. pgsql转储_十六进制转储如何工作
  6. 表单标签 input
  7. Zookeeper知识
  8. miniui中的相关问题
  9. jquery设置元素的readonly和disabled
  10. 《通用规范汉字表》2013版
  11. 软考系统集成项目管理工程师备考经验资料分享
  12. 【一步步学OpenGL 20】 -《点光源》
  13. linux切换中文拼音快捷键,Fedora 16下调出中文拼音输入法
  14. Verilog学习之路(1)— Quartus II 13.0下载安装和HelloWorld
  15. 园区SDN网络自动化能力优化思路
  16. python将图片转矩阵
  17. php动态js导航视频教程,JQ实现动画导航实例代码
  18. 社交电商平台实际包含的意义是一种工具,而不是固定的模式。
  19. 回文联对联大全_回文联大全,有趣回文对联大全
  20. 【JS】问号点和双问号的用法

热门文章

  1. 游戏大师约翰·卡麦克
  2. 让程序员增添一些浪漫情怀的代码
  3. android开发avg游戏,【图片】谈谈AVG游戏的Android移植(NScripter与吉里吉里)(转)【ons安卓吧】_百度贴吧...
  4. 网站静态化处理—缓存(4)
  5. datetime字符串转日期, 日期转字符串
  6. c语言指针的有关总结
  7. 内网绘图服务,老板乐的笑出大金牙
  8. 计算机网络实验之局域网的配置
  9. vant部署_Vant引入及配置
  10. 年薪40W竟也跳槽,程序员转大数据只需这几步