在SQL Server中使用ISNULL執(zhí)行空值判斷查詢
有如下查詢:
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)時的程序是這樣寫的:
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")=""則表示未審,這是一定成立的!
相關(guān)文章
SQL Server如何通過SQL語句直接操作另一臺服務(wù)器上的SQL SERVER的數(shù)據(jù)
這篇文章主要介紹了SQL Server如何通過SQL語句直接操作另一臺服務(wù)器上的SQL SERVER的數(shù)據(jù),需要的朋友可以參考下2022-10-10SQL?Server2022數(shù)據(jù)庫安裝及配置過程
最近發(fā)現(xiàn)有諸多的小伙伴們對于sqlserver安裝教程2022,sql server安裝教程這個問題都頗為感興趣的,這篇文章主要給大家介紹了關(guān)于SQL?Server2022數(shù)據(jù)庫安裝及配置的相關(guān)資料,需要的朋友可以參考下2023-12-12SQL Server刪除表及刪除表中數(shù)據(jù)的方法
本文介紹SQL Server中如何刪除表,如何刪除表中的數(shù)據(jù)。在刪除表數(shù)據(jù)時有delete和truncate兩種方法,delete和truncate有什么區(qū)別呢2016-04-04Sql語句與存儲過程查詢數(shù)據(jù)的性能測試實現(xiàn)代碼
Sql語句 存儲過程查 性能測試對比代碼。2009-04-04SQL(MSSQLSERVER)服務(wù)啟動錯誤代碼3414的解決方法
這篇文章主要介紹了SQL(MSSQLSERVER)服務(wù)啟動錯誤代碼3414的解決方法,需要的朋友可以參考下2016-03-03