1、NVL函數
NVL函數的格式如下:NVL(expr1,expr2)
含義是:【取第一個不爲空的參數】=>如果oracle第一個參數爲空那麼顯示第二個參數的值,如果第一個參數的值不爲空,則顯示第一個參數本來的值;如果兩參數都爲空,則顯示空。
例:
select nvl('1','2') from dual;
2、NVL2函數
NVL2函數的格式如下:NVL2(expr1,expr2, expr3)
含義是:【與NVL有很大的不同】=>如果該函數的第一個參數不爲空那麼顯示第二個參數的值,如果第一個參數的值爲空,則顯示第三個參數的值。
例:
select nvl2('1','2','3') from dual;
3、NULLIF函數
NULLIF(exp1,expr2)函數的作用是如果exp1和exp2相等則返回空(NULL),否則返回第一個值。
例:
select nullif('1','1') from dual;
4、Coalesce函數
Coalesce函數的作用與NVL的函數有點相似,取第一個不爲空的參數,其優勢是有更多的選項。
格式如下:
Coalesce(expr1, expr2, expr3... exprn)
Coalesce是這樣來處理這些參數的。如果第一個參數爲空,則看第二個參數是否是空,否則則顯示第一個參數,如果第二個參數是空再看第三個參數是否爲空,否則顯示第二個參數,依次類推。
這個函數實際上是NVL的循環使用
例:
select coalesce('1','2','3','4','5','6') from dual;