有如下查詢:
復(fù)制代碼 代碼如下:
select isnull(lastchanged,'') as lastchanged from vhhostlist where s_comment='test202'
本來,ISNULL函數(shù)只有一個參數(shù),它表示的含義就是判斷這個參數(shù)的值是否為NULL,是NULL則返回TRUE,否則返回FALSE;
但是,在SQLServer的查詢語句中,isnull需要兩個參數(shù),它的含義是如果參數(shù)1為NULL,則以參數(shù)2為isnull函數(shù)的返回值;
即,上面查詢的的含義是,查詢vhhostlist表中s_comment='test202'那一行l(wèi)astchanged字段的值,如果它為NULL,則返回一個空字符串;
記得以前不懂這個的時候,遇到這樣一個情況:一張訂單表,其中一個字段是status,訂單提交上來時status為NULL。 在程序里要做如下判斷,當(dāng)它為NULL時,顯示一個審核的超鏈接;當(dāng)它不為空時,顯示一個字符串:已審。當(dāng)時的程序是這樣寫的:
復(fù)制代碼 代碼如下:
if rs("status")>"" then
response.write "span style='color:red;'>已審/span>"
else
response.write "a href=check.asp?id=" rs("id") ">審核/a>"
end if
其實這樣的判斷是不慎密的,rs("status")>""并不代表就rs("status")就等于已經(jīng)審核;也并不表示rs("status")>""以外的情況就是未審狀態(tài);
最合理的應(yīng)該就是用isnull(status,'') as status把status查出來,如果rs("status")=""則表示未審,這是一定成立的!
您可能感興趣的文章:- MySQL中對于NULL值的理解和使用教程
- 詳解MySQL中的NULL值
- SQLSERVER ISNULL 函數(shù)與判斷值是否為空的sql語句
- sqlserver 不能將值NULL插入列id(列不允許有空值解決)
- mysql中將null值轉(zhuǎn)換為0的語句
- SQLserver查詢數(shù)據(jù)類型為ntext是空或NULL值的方法
- 在 SQL 語句中處理 NULL 值的方法