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还提供一些内 ...
随机推荐
- WPF Expander获得ToggleButton
原文:WPF Expander获得ToggleButton ToggleButton m_ToggleButton = this.Template.FindName("HeaderSite& ...
- 打开CDQ的大门&BZOJ3262
题目传送门 第一次接触CDQ分治,感谢YZ大佬的教导. CDQ分治就是一种奇特的分治方法,它用左区间的区间信息来更新右区间. 设CDQ(L,R,l,r)表示递归到区间[L,R],区间的值为[l,r]. ...
- PostgreSQL的HOT(Heap-Only Tuples)
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页 回到顶级页面:PostgreSQL索引页 HOT的解释: 如下的日文文档中,有几个图示, ...
- c++ 绘制方框
知识点: GetStdHandle函数 FillConsoleOutputCharacter函数 SetConsoleCursorPosition函数 system函数 一. GetStdHandle ...
- 如何实现PyQt5与QML响应彼此发送的信号?
对于PyQt5+QML+Python3混合编程,如何实现PyQt5与QML响应彼此发送的信号,这是一个棘手的问题. 大抵有如下五种方式: (要运行下面五个例子,千万不能在eric6中运行,会报错.错误 ...
- HBase的Rowkey设计(mark)
在HBase中细节上的设计,最最最重要的就是我该选取什么做Rowkey,Rowkey的选择,最直接的影响就是对你之后分析数据的影响了. Rowkey是不可分割的字节数,按照字典排序由低到高存储在表中. ...
- kali base64命令的使用
1.启动终端 2.输入base64 3.输入需要编码的字符串 4,CTRL+D,结束输入,在屏幕上回显输出结果
- 设计模式:代理模式 vs 装饰模式
参考文章:https://www.cnblogs.com/luoxn28/p/5535877.html 代理模式和装饰模式非常类似,甚至代码都类似. 二者最主要的区别是: 代理模式中,代理类对被代理的 ...
- 电商打折套路分析 —— Python数据分析练习
电商打折套路分析 ——2016天猫双十一美妆数据分析 数据简介 此次分析的数据来自于城市数据团对2016年双11天猫数据的采集和整理,原始数据为.xlsx格式 包括update_time/id/tit ...
- REVIT个人学习笔记——1.简介及熟悉界面
此贴并非教学,主要是自学笔记,所述内容只是些许个人学习心得的记录和备查积累,难以保证观点正确,也不一定能坚持完成. 如不幸到访,可能耽误您的时间,也难及时回复,贴主先此致歉.如偶有所得,相逢有缘,幸甚 ...