ORACLE NVL 和 NVL2 函數的使用
NVL函數是一個空值轉換函數,在SQL查詢中主要用來處理null值。在不支援 null 值或 null 值無關緊要的情況下,可以使用 NVL( ) 來移去計算或操作中的 null 值。
Oracle在NVL函數的功能上擴展,提供了NVL2函數,使得不論目標值是否爲null都能返回自訂的值。
操作方法
(01) ( )語法:nvl(expr1,expr2)如果 expr1 是 null 值,則 nvl 函數返回 expr2 ,否則就返回 expr1 。說明:參數 expr1、expr2 可以是任何數據類型,但應該保持相同。若兩者數據類型不一致,則Oracle數據庫會隱式的轉換其中一個的數據類型使其保持和另一個一致,若無法轉換則會返回錯誤。隱式轉換的實施規則如下:(1)若 expr1 是字元數據,則Oracle數據庫在比較之前就會把 expr2 轉換成 expr1 的數據類型並且返回 VARCHAR2 數據類型到 expr1 的字元集。(2) 若 expr1 是數值型,則Oracle數據庫決定哪個參數具有最高數值優先級,並把另一個參數的數據類型隱式轉換成這種數據類型,並返回這種數據類型的數據。實例:返回員工姓名和獎金,若該員工沒有獎金則返回 Not Applicable
(02)2 ( )語法:nvl2(expr1,expr2,expr3)如果 expr1 不是 null 值,則 nvl 函數返回 expr2 ,否則就返回 expr3 。參數可以返回任何數據類型的值,但是 expr2 和 expr3 不能是 LONG 型的數據類型。說明:若 expr2 和 expr3 的數據類型不同:(1)若 expr2 是字元數據,則Oracle數據庫在比較之前就會把 expr3 轉換成 expr2 的數據類型除非 expr3 是null。在 這種情況下,隱式數據轉換是不必要的。Oracle數據庫返回 VARCHAR2 數據類型到 expr2 的字元集。(2) 若 expr2 是數值型,則Oracle數據庫決定哪個參數具有最高數值優先級,並把另一個參數的數據類型隱式轉換成這種數據類型,並返回這種數據類型的數據。實例:返回員工收入,看員工收入(income)是否由工資(salary)加獎金(commission)組成,這取決於commission_pct列是否爲null
-
如何利用歌詞搜尋歌曲名——歌詞搜歌的技巧
現代娛樂的方式有很多種,怎麼能夠在這麼多的娛樂活動中選擇自己的最愛的生活方式呢,其中很多人在獨處的時候喜歡聽着音樂,享受難得的獨處時光。但有時候想找一首自己喜歡的歌曲,可是不管怎麼想都想不起歌名來,那怎麼透過簡單的幾句歌詞知道你想聽的這首歌的名字呢操...
-
怎麼加入淘寶30元一年的保證金計劃?
關於新消保,淘寶專爲賣家定製收費低,額度高,週期長等特點的保證金。加入新保證金計劃後,可釋放被凍結的消保保證金,同樣可享有消保標識和流量支援。當發生維權糾紛需要保證金賠付時,保證金計劃可先行墊付賠款,以保證店鋪經營不受影響,那麼如何加入淘寶30元一年的保證金...
-
網上如何掛失銀行卡——中國農業銀行綠卡篇
銀行卡遺失後,必須要儘快的掛失,而最快捷的方式無疑是透過網絡銀行的方式進行。所以今天小編爲大家帶來銀行卡網上掛失的教程,以中國農業銀行綠卡爲例。希望大家在緊急情況下會用的上。一、掛失具體操作(01)首先,我們需要進入中國農業銀行的官網,然後找到左側的卡號登...
-
微信怎麼備份手機通訊錄?
微信怎麼備份手機通訊錄?我們生活中有很多地方都會用到通訊錄,有時候我們也需要備份通訊裏,那麼手機中如何備份通訊錄呢?本就是爲了解決大家的這個問題。iTunes(01)果粉們應該都知道iTunes的功能,它的功能十分強大,不僅可以播放音樂,同時也是可以幫助我們備份手機數據的...