sql的coalesce函数用法
介绍
coalesce函数是sql里面极其实用的一个函数,具体用法如下:
SELECT coalesce(exp1,exp2,...) as info
FROM table1
当exp1
为NULL
时,计算exp2
,当exp2
为空时,计算exp3
,……
一直到计算到第一个不为NULL
的exp
,如果都为NULL
,则返回NULL
ps:这里的表达式也当然可以是不同的列
UNION等价
当只有两个表达式时,可以用另一种方式来等价:
SELECT exp1 as a
FROM table1
WHERE exp1 is not null
UNION
SELECT exp2 as a
FROM table1
WHERE exp1 is null
但是这样就显得很绕,很麻烦,而且表达式一多,就变得很复杂了。
应用
一个常用的场景是:将多列数据(有优先级)用不同的计算逻辑合并为一列数据指标。
例如,一个表格里面包含了每日的生产量,生产速度两个属性。但是有些行只有生产量,有的行只有生产速度,有的则两个都有,如果需要取出所有行的生产量,那么就可以优先第一列,若为空则利用生产速度估算日产量来达到目的:
SELECT coalesce(daily_data,hourly_data*8) as daily_info
FROM table1
sql的coalesce函数用法相关推荐
- mysql coalesce函数用法,SQL Server COALESCE函数详解及实例
SQL Server COALESCE函数详解 很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止 ...
- PL/SQL表---table()函数用法
http://www.itpub.net/thread-617298-1-1.html PL/SQL表---table()函数用法: 利用table()函数,我们可以将PL/SQL返回的结果集代替ta ...
- SQL中row_number函数用法
row_number函数用法 1.函数讲解 2.LeetCode实战 1.函数讲解 语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) ...
- coalesce函数用法php,如何使用Oracle中的 COALESCE 函数
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 数据库应用软件很多时候将多重的.相关的实体信息保存在同一个表格中.例如,购买的零件和本地生产的零件都是零件,经理和工人都 ...
- SQL之cast()函数用法
1.简介 cast()函数: 强制数据类型转换 cast()函数用法: cast(字段名 as 转换的类型) 2.实例: 表名:table 字段名:data (data 为 2019-09-16 18 ...
- SQL中CONVERT()函数用法详解
SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...
- sql中coalesce()函数的使用
1.coalesce()函数的作用就是返回一个不为null的值 2.例如在统计已读消息和未读消息场景就可以使用 <select id="messageCount"result ...
- SQL中DECODE函数用法
DECODE函数用法: DECODE(expr_expression, search_expression, result_expression, [default_expression]) 当sea ...
- SQL的LEN函数用法及实例
目录 1.语法及用法 (1)语法:len(text) (2)用法:返回某个文本字段的长度. 1.语法及用法 (1)语法:len(text) #查询语句 select [column(s),] len( ...
最新文章
- vs中不得不会的一些小技巧(1)——细说查找
- HTML a 标签的正则表达式
- perl 处理文件路径的一些模块
- 【Day02】测试 Primise、setTimeout等的执行顺序
- 解决引用flexible.js使第三方ui样式缩小的方法
- opencv检测相交点_OpenCV学习18--霍夫变换检测直线
- Python写一个服务
- rbf神经网络_黄小龙,陈阳舟:高阶非线性不确定多智能体系统自适应RBF神经网络协同控制...
- 关于分卷压缩文件打不开的问题
- 《Java 8实战》读书笔记
- c8网络语言意思,求一些比较经典的网络用语
- NHOI2019总结
- MATLAB:快速傅里叶变换(FFT)
- 利用ZEBAR 软件生成ZPL 代码
- 现在人工智能自动修复老照片的效果有好?
- Canon背后的故事
- [RK3399][Android7.1.1]Tethering:修复使用USB共享网络,拔出USB后 USB共享没有自动关闭的问题
- APICloud(二):选择一张或多张图片
- MySQL学习路线指南
- 【秒杀系统】从零开始打造简易秒杀系统(一):防止超卖
热门文章
- 20. 查询表student——查询所有不姓刘学生的姓名、学号和性别
- hosts 屏蔽广告 定位
- 原生ajax上传图片
- 一篇论文被拒稿了3次,下一步该怎么办?
- DCA1000EVM 【Status: Failed, Error Type: RESP TIMEOUT】 MSS Power Up async event was not received!
- 伟创变频器AC310与上位机通信调试记录
- 配置 IPv4 静态路由和默认路由
- 入门级耳机来了,超低延迟,NANK南卡N2S真无线蓝牙耳机
- vscode 配置 文件保存时自动格式化
- 环境监测技术中关于网络时间校准问题