Oracle Nvl 函式用法

2021-08-25 09:55:10 字數 946 閱讀 2218

oracle nvl() 函式用法

文章分類:資料庫

nvl( ) 函式

從兩個表示式返回乙個非 null 值。

語法 nvl(eexpression1, eexpression2)

引數 eexpression1, eexpression2

如果 eexpression1 的計算結果為 null 值,則 nvl( ) 返回 eexpression2。如果 eexpression1 的計算結果不是 null 值,則返回 eexpression1。eexpression1 和 eexpression2 可以是任意一種資料型別。如果 eexpression1 與 eexpression2 的結果皆為 null 值,則 nvl( ) 返回 .null.。

返回值型別

字元型、日期型、日期時間型、數值型、貨幣型、邏輯型或 null 值

說明 在不支援 null 值或 null 值無關緊要的情況下,可以使用 nvl( ) 來移去計算或操作中的 null 值。

select nvl(a.name,'空得') as name from student a join school b on a.id=b.id

注意:兩個引數得型別要匹配

oracle 函式介紹之nvl

函式宣告:nvl(col,val)

說明:當col為空時取val作為返回值,當col不為空時取col值。

用處:最主要的是格式化資料,比如計算金額時,不想出現空資料,可以使用nvl(jine,0)來得到0。由於null+(或-,*,/)數字等於null,所以在表示式中對可能為空的值要使用nvl由於null!=null,有時對可能為空的列進行條件查詢時,可能出現結果集丟失資料問題,加上nvl就不會了。

select nvl('123','456') from dual; ==>123

select nvl('','456') from dual; ==>456

Oracle nvl 函式的用法

oracle的nvl函式的用法 通過查詢獲得某個欄位的合計值,如果這個值位null將給出乙個預設的預設值 select nvl sum t.dwxhl 1 from tb jhde t where zydm 1 這裡關心的nvl的用法,nvl arg,value 代表如果前面的arg的值為null那...

oracle nvl使用小技巧1

在這幾天程式設計過程中,老是查詢大項和小項的資訊,小項是大項之下的,小項的pid 大項的id,大項和小項的字段一樣。如果是大項,則大項的pid為空。使用nvl pid,id 可以在left join on 的條件中將大項和小項一起選擇。如 select s.from item s left join...

oracle NVL與Coalesce的區別

先來說一下用法上的區別 nvl commission pct,0 如果第乙個引數為null,則返回第二個引數 如果第乙個引數為非null,則返回第乙個引數 coalesce expr1,expr2,expr3.exprn 從左往右數,遇到第乙個非null值,則返回該非null值。多層判斷 第一點區別...