關於Oracle中的nvl另類使用

2021-09-30 07:46:53 字數 621 閱讀 2020

在編寫oracle後端程式時,經常會用到nvl函式,用來轉換那些為null的變數或字段.

一般的使用方法為:

v_name := nvl(v_name,'n/a');

同時,我們經常也會使用如下的語法結構來查詢資料.

begin

select name into v_name from tab_name where ...

exception

when no_data_found then

v_name := 'n/a';

end;

實際上,我們可以將上面的語法結構用nvl函式來實現.

如:select nvl((select name from tab_name where ...),'n/a') into v_name from dual;

這裡如果nvl中第乙個引數查詢結果為no_data_found,則就等同於null值,所以就會返回第二個引數.

這種寫法只能使用在select查詢中,不可以直接使用賦值,如:

v_name := nvl((select name from tab_name where ...),'n/a');

這樣就是不可以編譯通過的.

以上,記錄於此.以供查閱.

oracle中的nvl函式

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

Oracle中的NVL函式

oracle中函式nvl,nvl2,nullif,coalesce,這幾個函式用在各個型別上都可以。下面簡單介紹一下幾個函式的用法。1.nvl函式 nvl函式的格式如下 nvl expr1,expr2 含義是 如果oracle第乙個引數為空那麼顯示第二個引數的值,如果第乙個引數的值不為空,則顯示第乙...

Oracle中的NVL函式

oracle中函式以前介紹的字串處理,日期函式,數學函式,以及轉換函式等等,還有一類函式是通用函式。主要有 nvl,nvl2,nullif,coalesce,這幾個函式用在各個型別上都可以。下面簡單介紹一下幾個函式的用法。在介紹這個之前你必須明白什麼是oracle中的空值null 1.nvl函式 n...