Oracle内置函数(1)-COALESCE、GREATEST和 LEAST

1. COALESCE 返回该表达式列表的第一个非空value。
格式:COALESCE(value1, value2, value3, ...)
含义:返回value列表第一个非空的值。value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
例子:

SQL> Select Coalesce(12, null, 22) From dual;

COALESCE(12,NULL,22)
--------------------
                  12

SQL> Select Coalesce(null, 32, 51) From dual;

COALESCE(NULL,32,51)
--------------------
                  32

SQL> Select EMPNO, MGR, Coalesce(EMPNO, MGR) From SCOTT.EMP;

     EMPNO        MGR COALESCE(EMPNO,MGR)
---------- ---------- -------------------
      7369       7902                7369
      7499       7698                7499
      7521       7698                7521
      7566       7839                7566
      7654       7698                7654
      7698       7839                7698
      7782       7839                7782
      7788       7566                7788
      7839                           7839
      7844       7698                7844
      7876       7788                7876

     EMPNO        MGR COALESCE(EMPNO,MGR)
---------- ---------- -------------------
      7900       7698                7900
      7902       7566                7902
      7934       7782                7934

14 rows selected.

2.GREATEST 返回值列表中最大值
格式: GREATEST(value1, value2, value3, ...)
含义: 返回value列表最大的值。
value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
当value值列表中有一个为NULL,则返回NULL值。
例子:

SQL> select greatest (12, 13, 23 ) from dual;

GREATEST(12,13,23)
------------------
                23

SQL> Select greatest ( 'A', 'B', 'C' ,'E') "GetMax" from dual;

G
-
E

SQL> select greatest (null, 'B', 'C' ) from dual;

G
-


SQL> Select empno,mgr,Greatest(empno, mgr) From SCOTT.EMP;

     EMPNO        MGR GREATEST(EMPNO,MGR)
---------- ---------- -------------------
      7369       7902                7902
      7499       7698                7698
      7521       7698                7698
      7566       7839                7839
      7654       7698                7698
      7698       7839                7839
      7782       7839                7839
      7788       7566                7788
      7839
      7844       7698                7844
      7876       7788                7876

     EMPNO        MGR GREATEST(EMPNO,MGR)
---------- ---------- -------------------
      7900       7698                7900
      7902       7566                7902
      7934       7782                7934

14 rows selected.

3.LEAST 返回值列表中最小值
格式:LEAST(value1, value2, value3, ...)
含义:返回value列表最小的值。
value列表必须是相同类型,也可以是一个表的同一行、不同列的值进行比较。
当value值列表中有一个为NULL,则返回NULL值。
例子:

SQL> Select Least(11, 3, 12) From Dual;

LEAST(11,3,12)
--------------
             3

SQL> Select Least('H', 'Z', 'C','G') From Dual;                                              

L
-
C

SQL> Select Least(Null, 'F', 'G') From Dual;

L
-


SQL> Select EMPNO,MGR,Least(EMPNO, MGR) From SCOTT.EMP;

     EMPNO        MGR LEAST(EMPNO,MGR)
---------- ---------- ----------------
      7369       7902             7369
      7499       7698             7499
      7521       7698             7521
      7566       7839             7566
      7654       7698             7654
      7698       7839             7698
      7782       7839             7782
      7788       7566             7566
      7839
      7844       7698             7698
      7876       7788             7788

     EMPNO        MGR LEAST(EMPNO,MGR)
---------- ---------- ----------------
      7900       7698             7698
      7902       7566             7566
      7934       7782             7782

14 rows selected.

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlanChen

您的鼓励是我创作的源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值