oracle greatest(),least( ) ,coalesce()
--场景1:
select pt, greatest(wm), least(wm)
from (select s.producttype pt, wm_concat(s.productid) wm
from sys_product s
group by s.producttype)
where pt = 1;
/*
--结果:
1 | 1 17,19,16,15,9,4,3,2,1,14,13,18
2 | 2 5,12,11,10,8,7,6
--maxt=17,19,16,15,9,4,3,2,1,14,13,18
--mint=17,19,16,15,9,4,3,2,1,14,13,18
*/
--场景2:
select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18,null) maxt,
least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint
from dual;
--结果:maxt=19 ,mint=1 /*1.
COALESCE 返回该表达式列表的第一个非空value。
格式: COALESCE(value1, value2, value3, ...)
含义: 返回value列表第一个非空的值。
value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。 */
select coalesce(a,b,c) from (
select '' as a,'A' as b,null as c from dual
union all
select '' as a,null as b,null as c from dual
union all
select null as a,null as b,'shit' as c from dual
) /*GREATEST 返回值列表中最大值
格式: GREATEST(value1, value2, value3, ...)
含义: 返回value列表最大的值。
value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
当value值列表中有一个为NULL,则返回NULL值。
EXAMPLE:
*/
select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) maxv, --
greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18, null) maxnull, --null
least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint --
from dual; /*
3. LEAST 返回值列表中最小值
格式: LEAST(value1, value2, value3, ...)
含义: 返回value列表最小的值。
value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
当value值列表中有一个为NULL,则返回NULL值
*/
select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) maxv, --
greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18, null) maxnull, --null
least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint --
from dual;
oracle greatest(),least( ) ,coalesce()的更多相关文章
- oracle连接数据库报错:ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared memory realm does not exist
花一天半的时间解决客户端连接服务端的oracle数据库,无法连接问题.ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared mem ...
- js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数。
js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数. <script language="javascript"> document.write(& ...
- python中dir,__dict__ , __setitem__(),__getitem__()
class Testa: pass class Testb(object): pass if __name__ == '__main__': print 'testb = ',dir(Testb) p ...
- 问题 C: 如沫春风 ---有毒的gets(),新OJ不能用!用scanf(%s)读入即可!——ZZNU新OJ
问题 C: 如沫春风 时间限制: Sec 内存限制: MB 提交: 解决: [提交] [状态] [讨论版] [命题人:admin] 题目描述 月亮很亮,亮也没用,没用也亮. 我喜欢你,喜欢也没用,没用 ...
- oracle count(*) 和count(列)性能
一直以为oracle中count(列)比count(*) 快,这篇文件解释了一下: http://blog.csdn.net/szstephenzhou/article/details/8446481
- awake()和start()还有update(),fixedupdate()的差别
1.首先看一下untiy官方对awake()和start()的定义 awake()和start()函数会在脚本加载后自动调用,awake()会先被调用,即使脚本未被调用.最好用来设置脚本之间的引用和初 ...
- python跨行 print:多用(),换行符\要小心,少用+或者不用(其它程序代码跨行用\就行,不能用括号)
这两种是错的 # print '11' # 'tset3'#error # print '12' # +'tset4'#error python跨行用()和\都能实现.+只是连 ...
- java方法笔记: split,instanceof,StringBuilder(),append(),string ,Integer,Math,正则表达式
http://swiftlet.net/archives/709 如果分隔符在前方,会显示“”,在尾部不显示: *|做分割,需要加\\ API文档如下 1.instanceof 查看前者是否是后者的实 ...
- Python 数组[],元组(),字典{}的异同
序列 Python有6中内建的序列,在这里我们重点讨论两种,数组和元组.所有序列都可以做某些特定的操作,大致上常用的是:加,乘,索引,分片以及检查某个元素是否属于序列的成员. Python还提供一些内 ...
随机推荐
- 对Oracle的游标进行更为精细的控制
摘要自 Oracle性能控制艺术 DECLARE l_ename emp.ename%TYPE :='SCOTT'; l_empno emp.empno%TYPE; l_cursor INTEGER; ...
- AGC 015 E - Mr.Aoki Incubator
E - Mr.Aoki Incubator 链接 题意: 数轴上有N个黑点,每个点都有一个方向向右的正速度v.当两个点在同一个位置上重合时,若其中一个是红色,另一个也变成红色.保证没有相同速度或初始坐 ...
- Android启动问题——黑屏、死机等解决方法
今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Faile ...
- Linux之服务器介绍
服务器,也称伺服器,是提供计算服务的设备.由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力. 服务器: 服务器指的是网络中能对其他机器提供某些服务的计算机系统 ...
- Bitcoin区块链攻击方式
目录 重放攻击-- 非人为攻击 其他攻击 重放攻击-- 非人为攻击 重放攻击 Replay Attach 攻击者重复发送相同的数据库包到目的主机,用以欺骗系统 用支付宝付款信息重复项商家索取商品 比特 ...
- 浅谈HTTP中GET和POST请求方式的区别
浅谈HTTP中GET和POST请求的区别 HTTP认知: HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议.HTTP的底层是TCP/IP.所以GET和POST的底层也是TCP/IP,也 ...
- birt 访问频繁报错Cannot create JDBC driver of class '' for connect URL 'null' java.sql.SQLException: No suitable driver
一般birt项目都是部署tomcat启动.这个问题大概率是因为没有配置JNDI数据源的原因. 参考链接: https://www.cnblogs.com/xdp-gacl/p/3951952.html
- [egret]白鹭引擎打包安卓包体积太大减小
萌新第一次用egret打安卓包,发现裸包22M+,吃惊到吃手手. 上网搜查无果. 可能原因是egret优化过一波打包,变得更便利了,网上对新版本打包比较少讨论. 解决方法: egret-android ...
- Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第3节: recycler的使用和创建
Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第三节: recycler的使用和创建 这一小节开始学习recycler相关的知识, recycler是n ...
- 为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname
之前总结了 jmeter 分布式测试的过程,在部署过程中提到,要在 system.properties 中配置自己的 IP. 至于为什么要这么做,源于这一次 debug 的过程. 运行环境 mint, ...