oracle NVL與Coalesce的區別

2022-06-13 13:30:16 字數 324 閱讀 6468

先來說一下用法上的區別 :

nvl(commission_pct,0)

如果第乙個引數為null,則返回第二個引數

如果第乙個引數為非null,則返回第乙個引數

coalesce(expr1,expr2,expr3...exprn)

從左往右數,遇到第乙個非null值,則返回該非null值。

多層判斷

第一點區別:從上面可以知道,nvl只適合於兩個引數的,coalesce適合於多個引數。

第二點區別:coalesce裡的所有引數型別必須保持一致,nvl可以不一致。

當然還有一些其他的區別,這裡不再贅述。

Oracle Nvl 函式用法

oracle nvl 函式用法 文章分類 資料庫 nvl 函式 從兩個表示式返回乙個非 null 值。語法 nvl eexpression1,eexpression2 引數 eexpression1,eexpression2 如果 eexpression1 的計算結果為 null 值,則 nvl 返...

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...