在MS SQL我來翻過查詢象下面這樣:!是否有MS SQL設置,允許值= NULL是真實
select Wubba, Dubba
from Dub as dub
where Dubba != 10
當Dubba
爲空,選擇返回零行。由於即時通訊尋找一個錯誤,我想知道是否有在MS SQL中的設置,這將允許此查詢返回值。
在MS SQL我來翻過查詢象下面這樣:!是否有MS SQL設置,允許值= NULL是真實
select Wubba, Dubba
from Dub as dub
where Dubba != 10
當Dubba
爲空,選擇返回零行。由於即時通訊尋找一個錯誤,我想知道是否有在MS SQL中的設置,這將允許此查詢返回值。
沒有設置,提供你正在尋找for..you可以試試下面
Dubba != 10 or dubba is null
使用ISNULL(somecol,val)
行爲是不Sargable
有一個名爲SET ANSI_NULLS設置,但這不會在比較中工作
當SET ANSI_NULLS爲ON時,使用WHERE column_name = NULL的SELECT語句返回ze即使有在列名空值R0行
當SET ANSI_NULLS爲OFF時,使用WHERE列名= NULL返回有列名空值的行的SELECT語句
當SET ANSI_NULLS is ON
空<>空
當SET ANSI_NULLS is OFF
空= NULL
但是你問到包括空值,如果列有NULL值,只有這樣,才能爲空值,指定
從Itzik Ben-Gan延伸閱讀:
select Wubba, Dubba
from Dub as dub
where Dubba != 10 Or Dubba Is Null
由於沒有服務器設置
看來是沒有設置,所以你可以使用:
select Wubba, Dubba
from Dub as dub
where ISNULL(Dubba, 0) != 10
SQL使用三值邏輯。 true,false,null。通過設計。如果你的'錯誤'導致Non-nulls輸入空值......那麼這是一個heckava錯誤,它完全破壞了你的RDBMS。 –