oracle+nvlif函数,Oracle中的NVL()、NVL2()、NULLIF()、Coalesce()函数
大家先來看看下面這道簡單的題目:
1.? TEST表包含兩個列,TESTCOL定義為數據類型NUMBER(10),TESTCOL_2定義為數據類型VARCHAR2(10)。在Oracle中發出下列語句:insert into test(testcol,testcol_2) values (null, ‘FRANCIS’)
A.Oracle返回結果0 ? ? ? ? ? ? ? ? ? ? B.Oracle返回結果EMPTY
C.Oracle返回結果NULL????????? ??D.Oracle返回錯誤結果 正確答案是:D
對NVL()這個簡單的函數沒能注意其細節,現將NVL()、NVL2()、NULLIF()、Coalesce()函數的用法總結如下:
在學習以上函數之前我們必須明白什么是Oracle中的空值null。
1.NVL函數
NVL (expr1, expr2)->expr1為NULL,返回expr2;不為NULL,返回expr1。注意兩者的類型要一致。
2.NVL2函數
NVL2 (expr1, expr2, expr3) ->expr1不為NULL,返回expr2;為NULL,返回expr3。expr2和expr3類型不同的話,expr3會轉換為expr2的類型。
3.NULLIF函數
NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1
4. Coalesce函數
Coalese函數的作用是的NVL的函數有點相似,其優勢是有更多的選項。
格式如下:
Coalesce(expr1, expr2, expr3….. exprn)
表示可以指定多個表達式的占位符。所有表達式必須是相同類型,或者可以隱性轉換為相同的類型。
返回表達式中第一個非空表達式,如有以下語句: SELECT COALESCE(NULL,NULL,3,4,5) FROM dual 其返回結果為:3
如果所有自變量均為 NULL,則 COALESCE 返回 NULL 值。 COALESCE(expression1,...n) 與此 CASE 函數等價:
這個函數實際上是NVL的循環使用,在此就不舉例子了。
總結
以上是生活随笔為你收集整理的oracle+nvlif函数,Oracle中的NVL()、NVL2()、NULLIF()、Coalesce()函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle getsqltxt函数,O
- 下一篇: linux elf命令,linux st