Oracle中函數以前介紹的字符串處理,日期函數,數學函數,以及轉換函數等等,還有一類函數是通用函數。
主要有:NVL,NVL2,NULLIF,COALESCE,這幾個函數用在各個類型上都可以。
下面簡單介紹一下幾個函數的用法。
在介紹這個之前你必須明白什么是oracle中的空值null
1.NVL函數
NVL函數的格式如下:NVL(expr1,expr2)
含義是:如果oracle第一個參數為空那么顯示第二個參數的值,如果第一個參數的值不為空,則顯示第一個參數本來的值。
例如:
SQL> select ename,NVL(comm, -1) from emp;
ENAME NVL(COMM,-1)
------- ----
SMITH -1
ALLEN 300
WARD 500
JONES -1
MARTIN 1400
BLAKE -1
FORD -1
MILLER -1
其中顯示-1的本來的值全部都是空值的
2 NVL2函數
NVL2函數的格式如下:NVL2(expr1,expr2, expr3)
含義是:如果該函數的第一個參數為空那么顯示第二個參數的值,如果第一個參數的值不為空,則顯示第三個參數的值。SQL> select ename,NVL2(comm,-1,1) from emp;
ENAME NVL2(COMM,-1,1)
------- -----
SMITH 1
ALLEN -1
WARD -1
JONES 1
MARTIN -1
BLAKE 1
CLARK 1
SCOTT 1
上面的例子中。凡是結果是1的原來都不為空,而結果是-1的原來的值就是空。
出處: http://blog.sina.com.cn/s/blog_46e9573c01015ik8.html