程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 在SQL Server中使用ISNULL執行空值判斷查詢,serverisnull

在SQL Server中使用ISNULL執行空值判斷查詢,serverisnull

編輯:更多數據庫知識

在SQL Server中使用ISNULL執行空值判斷查詢,serverisnull


有如下查詢:
復制代碼 代碼如下:
select isnull(lastchanged,'') as lastchanged from vhhostlist where s_comment='test202'

本來,ISNULL函數只有一個參數,它表示的含義就是判斷這個參數的值是否為NULL,是NULL則返回TRUE,否則返回FALSE;

但是,在SQLServer的查詢語句中,isnull需要兩個參數,它的含義是如果參數1為NULL,則以參數2為isnull函數的返回值;

即,上面查詢的的含義是,查詢vhhostlist表中s_comment='test202'那一行lastchanged字段的值,如果它為NULL,則返回一個空字符串;

記得以前不懂這個的時候,遇到這樣一個情況:一張訂單表,其中一個字段是status,訂單提交上來時status為NULL。 在程序裡要做如下判斷,當它為NULL時,顯示一個審核的超鏈接;當它不為空時,顯示一個字符串:已審。當時的程序是這樣寫的:
復制代碼 代碼如下:
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")就等於已經審核;也並不表示rs("status")<>""以外的情況就是未審狀態;

最合理的應該就是用isnull(status,'') as status把status查出來,如果rs("status")=""則表示未審,這是一定成立的!


sql server裡怎判斷一個查詢出來的值是否為null

你是因為這個result字段有null,而得不到正確的數值吧

這樣
select SUM(isnull(Result,0)) as Result from PDS_LabResultData a
其實就是用isnull函數
isnull(Result,0) 意思就是如果result為null,則賦值為0

 

怎判斷SQL SERVER表中字段為空

SQL server裡,01/01/1900 12:00:00 AM 也視為空 ('',不是null)
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved