Oracle中nvl函式的用法

2021-09-01 09:39:18 字數 889 閱讀 7706

nvl函式:

空值處理函式。可以將為空的列,以不為空的形式顯示出來

將乙個null值轉換為乙個實際的值

因為null值的特點:不參加計算,不參加統計,與任何數字相加都為空。

乙個數字-null=乙個數

null- 乙個數字=null

乙個數+null=null

格式為:  nvl( string1, replace_with)

功能:如果string1為null或者是空字串'',則nvl函式返回replace_with的值,否則返回string1的值。

注意事項:

1、所判斷的引數string1包括null和『』這兩種形式的空值

2、資料型別必須匹配,即string1和replace_with必須為同一資料型別,除非顯式的使用to_char函式。

例:nvl(to_char(numeric_column), 'some string')

其中numeric_column代指某個數字型別的值。   

nvl能夠轉換任何資料型別,但是轉換的資料型別返回值必須是nvl(expr1,expr2)第乙個引數expr的型別。如:date,number, varchar2 or char

例:nvl(txnamt,0) > 0   nvl(txnamt, 0) 的意思是 如果 交易金額txnamt 是null, 則取 0值

nvl函式的擴充套件:nvl2函式

nvl2(expr1,expr2,expr3)的功能為:如果expr1不是null,則返回expr2;

如果expr1是null,則返回expr3。

引數expr1可以是任意資料型別,而expr2和expr3可以是除long之外的任何資料型別。但注意,expr2、expr3的資料型別必須要與expr1的資料型別匹配。

Oracle的NVL函式用法

從兩個表示式返回乙個非 null 值。語法nvl eexpression1,eexpression2 引數eexpression1,eexpression2 如果 eexpression1 的計算結果為 null 值,則 nvl 返回 eexpression2。如果 eexpression1 的計算...

Oracle的NVL函式用法

從兩個表示式返回乙個非 null 值。語法nvl eexpression1,eexpression2 引數eexpression1,eexpression2 如果 eexpression1 的計算結果為 null 值,則 nvl 返回 eexpression2。如果 eexpression1 的計算...

Oracle的Nvl函式用法

從兩個表示式返回乙個非 null 值。語法 nvl eexpression1,eexpression2 引數 eexpression1,eexpression2 如果 eexpression1 的計算結果為 null 值,則 nvl 返回 eexpression2。如果 eexpression1 的...