在程式開發過程中,程式員用到最多的估計就是資料庫了,幾乎在任何一個地方都會和資料庫打交道,資料庫的增加,删除,更新,查詢,都必須用到sql語句或者是存儲過程,歸根結底還是試用sql資料庫,但是在敲寫相關sql語句時,我們經常會遇到一些空的字元串或者是字段,這就給我們對資料庫造成一定的麻煩,系統經常會提示“某值null不能轉換”“插入的值不能為空”等等諸如此類的提示,isnull函數會幫助你搞定這些小菜。
Isnull 函數主要作用是将為空的值替換為指定值,如果不為空傳回檢查類型的傳回值,isnull的文法:
Isnull (check_expression , replacement_value)
例一:
select isnull(studentid,100) from student_info
解釋:這個執行個體的意思就是查出student_info表中字段為studentid的值,如果字段studentid值為空就在字段studentid中添加100,或者你可以動态的向這個空字段添加值。
private int GetNewBillID()
{
int id = Convert.ToInt32(sh.QueryValue(sql));
if (id == 0)
{
return 1000;
}
else
return id + 1;
}
這個私有方法就是查詢表Vs_ICChange中FBillId字段,如果FBillId字段為空就換值為0,通過執行語句得到數值id,在對id資料進行判斷,如果id=0,直接傳回id=1000,如果id已經有數值的話,直接在原來的基礎上加一,再将傳回的id數值之間插入到相關FBillId字段即可,比如:
Insert into Vs_ICChange(FBillId) values(‘”+id+”’);
這樣就可以在沒有數值的字段讓字段值實作人工自增,進而程式就不會報錯。
例二:
use test1
insert into a(name,score)
select name,isnull(score,100) from b
解釋:從表b中查出相關資料,然後插入到表a,如果表b中的score字段為空,則放入數值100,并插入到a表中。
本文轉自shenzhoulong 51CTO部落格,原文連結:http://blog.51cto.com/shenzhoulong/441259,如需轉載請自行聯系原作者