簡單介紹nvl,nvl2,nullif,Coalesce函數的用法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM