coalesce

语法

注意:连接操作符“||”是一个值得注意的例外。
例如,空值加任何值都是空值,空值 乘任何值也都是空值,依此类推。

参数

expression
任何类型的表达式
n
表示可以指定多个表达式占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。
数据库
Mysql

返回类型

将相同的值作为 expression 返回

作用

返回表达式中第一个非空表达式,如有以下语句:
SELECT COALESCE(NULL,NULL,3,4,5) FROM dual
返回结果为:3

注释

如果所有自变量均为 NULL,则 COALESCE 返回 NULL 值。
COALESCE(expression1,...n) 与此 CASE 函数等价:
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
...
WHEN (expressionN IS NOT NULL) THEN expressionN
ELSE NULL
 
 
nvl(bonus,0)    意思是   如果  bonus  is  null  ,  那么返回 0,  否则返回   bonus

coalesce(bonus,0,1) 意思是   返回  参数列表中, 第一个非 空的数据。
也就是相当于, 如果 bonus is null , 那么返回 0, 否则返回 bonus。
这里的最后一个参数 1, 目测是打酱油的。 coalesce(bonus,null,0) 意思是 返回 参数列表中, 第一个非 空的数据。
也就是相当于, 如果 bonus is null , 那么第2个参数还是 null, 最后返回第3个参数 0 decode(name,‘apple’,0) 意思是, 如果 name = 'apple' 那么返回 0
否则的话 , 就是返回 null 了。

最新文章

  1. python-virtualenv(多个独立开发环境)
  2. Setup Factory 关闭正在运行的程序
  3. Laravel 流程分析——整体概论
  4. 对已经add的文件不在跟踪
  5. MVVM框架思想
  6. 多线程(三)GCD
  7. hdu4614Vases and Flowers
  8. ANDROID_MARS学习笔记_S04_009_用java.lang.ref.SoftReference作缓存,android.os.Handler和new Thread异步加载略图片
  9. office文件在线预览,模仿网易邮箱在线预览的
  10. Linux下搭建Oracle11g RAC(1)----IP分配与配置IP
  11. linux shell编程指南第二十章------向脚本传递参数
  12. laravel5.2之logout注销账号无效
  13. centos7之zabbix的web检测
  14. uploadPreview上传图片前预览图片
  15. oracle 多版本
  16. hibernate重要知识点总结
  17. Linux内存管理5---物理内存管理
  18. 【C++ Primer 第10章】 10.4.2 插入迭代器
  19. 硬件篇之MMU
  20. 前端 HTML body标签相关内容 常用标签 表单标签 form里面的 label标签介绍

热门文章

  1. 后台接口平台 基于Laravel 开发 快速开发数据接口
  2. 最优配餐_暴力bfs
  3. leetCode :103. Binary Tree Zigzag Level Order Traversal (swift) 二叉树Z字形层次遍历
  4. hdoj5698
  5. bzoj 4036: [HAOI2015]按位或【min-max容斥+FWT】
  6. jdbc 连接 sqlserver 学习
  7. childNodes和Children的区别
  8. css width
  9. oracle 表空间及查看所有用户的表空间
  10. UWP 剪贴板