一、null與任何運算符運算後都爲nullhtml
普通的值通常均可能進行運算符操做,但例如:ID列爲int,因此能夠這樣:ID=ID+1等,但若是一列的值爲null,null+1=nullsql
例如函數
update testNull
set b=b+1
where b is nullspa
查詢後發現b的值沒有變化,仍然爲null.server
二、任何值與null比較時都會返回falsehtm
普通的值能夠進行"="操做,例如條件中通常都會這樣出現:sUserName='張三',若是sUserName的值爲null,要想找出全部名字爲null的記錄時,不能這樣用:sUserName=null,由於null不是一個具體的值,任何值與它比較時都會返回false。此時可借用is null 或者是is not null.排序
例如get
select * from testNull where a=null --返回空結果集
select * from testNull where b is null --返回結果集 2 2 NULLtest
說明null是不能用"="來比較,可用is null來替換date
三、當統計的記錄中的包含有null值時,它會忽略null值
例如在用統計函數count時會不一樣,例如count(ID):統計記錄數.當統計的記錄中的包含有null值時,它會忽略null值.
四、對於in 的影響不一樣
示例查詢:查詢testNull表中b的值包含在null中的記錄.
select * from testNull where b in(null) --沒有任何記錄
in在查詢時會忽略null的記錄,查詢的時候可用is not null來查詢
五、排序時順序有不一樣
當使用ORDER BY時,首先呈現NULL值。若是你用DESC以降序排序,NULL值最後顯示。
參考資料: sql server 如何判斷 null http://www.studyofnet.com/news/1056.html