1.NVL函數
NVL函數的格式如下:NVL(expr1,expr2)
含義是:如果oracle第一個參數為空那么顯示第二個參數的值,如果第一個參數的值不為空,則顯示第一個參數本來的值。
select nvl(1,2) from dual;--1
select nvl('',2) from dual;--2
select nvl(null,2) from dual;--2
2 NVL2函數
NVL2函數的格式如下:NVL2(expr1,expr2, expr3)
含義是:如果該函數的第一個參數不為空那么顯示第二個參數的值,如果第一個參數的值為空,則顯示第三個參數的值。
select nvl2(1,2,3) from dual;--2
select nvl2('',2,3) from dual;--3
select nvl2(null,2,3) from dual;--3
3. NULLIF函數
NULLIF(exp1,expr2)函數的作用是如果exp1和exp2相等則返回空(NULL),否則返回第一個值。
select nullif(1,2) from dual;--1
select nullif(1,1) from dual;--null
4.Coalesce函數
Coalese函數的作用是的NVL的函數有點相似,其優勢是有更多的選項。
格式如下:
Coalesce(expr1, expr2, expr3….. exprn)
表示可以指定多個表達式的占位符。所有表達式必須是相同類型,或者可以隱性轉換為相同的類型。
返回表達式中第一個非空表達式。
select coalesce('',null,'1','2') from dual;--1
select coalesce('',null,'','') from dual;--null
