oracle函數coalesce、greatest、least

一、coalesce返回列表中第一個非空值sql

格式: coalesce(value1, value2, value3, ...)code

            value列表必須是相同類型ast

select coalesce (1, null, 2 ) from dual ; -- 返回1
                     
select coalesce ( null, 2, 1 ) from dual ; -- 返回2
                     
select coalesce (t.empno, t.mgr ) from  scott.emp t ; -- 效果相似 NVL( t.empno, t.mgr )

 

二、greatest 返回值列表中最大值
    格式: greatest(value1, value2, value3, ...)class

    value列表必須是相同類型,也能夠是一個表的同一行、不一樣列的值進行比較。
    當value值列表中有一個爲null,則返回null值。test

select greatest (1, 3, 2 ) from dual ; -- 返回3

select greatest ( 'a', 'b', 'c' ) from dual ; -- 返回c

select greatest (null, 'b', 'c' ) from dual ; -- 返回null

select greatest (t.empno, t.mgr ) from  scott.emp t ; -- 返回empno和mgr 較大值

三、least 返回值列表中最小值
    格式: least(value1, value2, value3, ...)
    含義: 返回value列表最小的值。
               value列表必須是相同類型,也能夠是一個表的同一行、不一樣列的值進行比較。
               當value值列表中有一個爲null,則返回null值。select

select least (1, 3, 2 ) from dual ; -- 返回1
                     
select least ( 'a', 'b', 'c' ) from dual ; -- 返回a
                     
select least (null, 'b', 'c' ) from dual ; -- 返回null
                     
select least (t.empno, t.mgr ) from  scott.emp t ; -- 返回empno和mgr 較小值