Oracle中nvl和nvl2這兩個函式的區別

2021-10-01 06:04:00 字數 305 閱讀 6421

1、nvl(value1,value2)  

這個函式的意思是如果value1的值為null,那麼函式返回value2的值  ,如果value1不為空,那麼就返回value1的值。

需要注意的是value1和value2要保持字段型別相同。

2、nvl2(value1,value2,value3)  

這個函式的意思是如果value1的值為null 函式返回value3   否則函式返回value2   也就是說函式永遠不會返回value1

注意的是引數value2 value3可以是除了long型別之外的任意資料型別。

nvl 函式和nvl2 函式

格式為 nvl string1,replace with 功能 如果string1為null,則nvl函式返回replace with的值,否則返回string1的值,如果兩個引數都為null 則返回null。注意事項 string1和replace with必須為同一資料型別,除非顯式的使用to ...

DB2中的NVL和NVL2函式

nvl函式是乙個空值轉換函式 nvl 表示式1,表示式2 如果表示式1為空值,nvl返回值為表示式2的值,否則返回表示式1的值。該函式的目的是把乙個空值 null 轉換成乙個實際的值。其表示式的值可以是數字型 字元型和日期型。但是表示式1和表示式2的資料型別必須為同乙個型別。實用例子 查詢某個員工年...

Decode與NVL和NVL2區別

decode 條件,值1,翻譯值1,值2,翻譯值2,預設值 該函式與程式中的 if.else if.else 意義一樣 格式 nvl string1,replace with 功能 如果string1為null,則nvl函式返回replace with的值,否則返回string1的值,如果兩個引數都...