格式為:
nvl( string1, replace_with)
功能:如果string1為null,則nvl函式返回replace_with的值,否則返回string1的值。
引申一下,此nvl的作用與sqlserver 中的 isnull( string1, replace_with) 一樣。
注意事項:string1和replace_with必須為
同一資料型別,除非顯式的使用to_char函式。
例:nvl(to_char(numeric_column), 'some string') 其中numeric_column代指某個數字型別的值。
例:nvl(yanlei777,0) > 0
nvl(yanlei777, 0) 的意思是 如果 yanlei777 是null, 則取 0值
通過查詢獲得某個欄位的合計值,如果這個值為null將給出乙個預設的預設值
例如:select nvl(sum(t.dwxhl),1)
from tb_jhde t
就表示如果sum(t.dwxhl) = null 就返回 1
另乙個有關的有用方法
declare i integer
select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1這樣就可以把獲得的合計值儲存到變數
i中,如果查詢的
值為null就把它的值
設定為預設的1
oracle中:
select nvl(rulescore,0) from zwjc_graderule where rulecode='fwtd';
如果記錄中不存在rulecode ='fwtd'的資料.則查不出資料.
select
nvl(rulescore,0)
into rule_score from zwjc_graderule where rulecode='fwtd';
會報查不到資料的 錯
select
nvl(sum(rulescore),0) from zwjc_graderule where rulecode='fwtd';
如果記錄中不存在rulecode ='fwtd'的資料.還是可以得到一行列名為nvl(rulescore,0),值為0的資料.
select
nvl(sum(rulescore),0) rule_score from zwjc_graderule where rulecode='fwtd';
不會報錯
oracle在nvl函式的功能上擴充套件,提供了nvl2函式。
nvl2(e1, e2, e3)的功能為:如果e1為null,則函式返回e3,若e1不為null,則返回e2。
Oracle PL SQL中的迴圈處理
oracle pl sql中的迴圈處理 今天來說下oracle中的迴圈迭代處理,因為從自己的部落格統計中看到,不少都搜尋了關鍵字 sql for迴圈 所以打算在這裡說下個人的理解。www.2cto.com pl sql也和我們常用的程式語言一樣,提供了while for等迴圈,我們建幾個例子來說明演...
TOMCAT中的乙個問題
這兩天在客戶端部署bo報表系統遇到乙個奇怪問題,tomcat啟動面板打出來的日誌資訊埠號為8181,但我在server.xml檔案裡面已經將埠號改為了8107,但為什麼會是8181呢!真是一頭霧水。用ue在tomcat目錄下所有檔案裡面都搜了一遍字元為 8181 的檔案,但乙個也找不到。這個8181...
qt中的乙個問題
1 這是我在看qt的乙個pdf的時候遇到的問題。如下 mydlg my1 if my1.exec qdialog accepted 其中在my1上有乙個button,w為乙個widget,button的clicked訊號,對應了my1的recept 槽。剛學qt死活看不懂這句話 現在好像大概明白了點...