oracle greatest(),least( ) ,coalesce()

Posted linbobo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle greatest(),least( ) ,coalesce()相关的知识,希望对你有一定的参考价值。

 

 

 

 

 1 --场景1:
 2 select pt, greatest(wm), least(wm)
 3   from (select s.producttype pt, wm_concat(s.productid) wm
 4           from sys_product s
 5          group by s.producttype)
 6  where pt = 1;
 7 /*
 8 --结果:
 9 1    | 1    17,19,16,15,9,4,3,2,1,14,13,18
10 2    | 2    5,12,11,10,8,7,6
11 --maxt=17,19,16,15,9,4,3,2,1,14,13,18
12 --mint=17,19,16,15,9,4,3,2,1,14,13,18
13 */
14 --场景2:
15 select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18,null) maxt,
16        least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint
17   from dual;
18 --结果:maxt=19 ,mint=1 
19 
20 /*1. 
21 COALESCE 返回该表达式列表的第一个非空value。
22 格式: COALESCE(value1, value2, value3, ...)
23 含义: 返回value列表第一个非空的值。
24 value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
25 
26 */
27 select coalesce(a,b,c) from (
28  select 1 as a,A as b,null as c from dual 
29  union all 
30  select 1 as a,null as b,null as c from dual
31  union all 
32  select null as a,null as b,shit as c from dual
33  )
34  
35 /*GREATEST 返回值列表中最大值
36 格式: GREATEST(value1, value2, value3, ...)
37 含义: 返回value列表最大的值。
38 value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
39 当value值列表中有一个为NULL,则返回NULL值。
40 EXAMPLE:
41 */
42 select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) maxv, --19
43        greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18, null) maxnull, --null
44        least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint --1
45   from dual;
46 
47 
48 /*
49 3. LEAST 返回值列表中最小值
50 格式: LEAST(value1, value2, value3, ...)
51 含义: 返回value列表最小的值。
52 value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
53 当value值列表中有一个为NULL,则返回NULL值
54 */
55 select greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) maxv, --19
56        greatest(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18, null) maxnull, --null
57        least(17, 19, 16, 15, 9, 4, 3, 2, 1, 14, 13, 18) mint --1
58   from dual;

 

以上是关于oracle greatest(),least( ) ,coalesce()的主要内容,如果未能解决你的问题,请参考以下文章

MySQL greatest()和least()函数与MAX()和MIN()函数

大数据之Hive:greatest和least函数

mysql greatest函数

MySQL# 用户权限操作查询的同时更新一张表greatest()和least()函数日期时间操作函数解决主键自动增长2Navicat查看数据库密码

mysql least函数

Oracle SQL:LEAST() 返回多行...?