0
我運行在SQL Server查詢2014(v12.0.5203),但它得到了我的注意,下面的結果,在這裏我的查詢:IS NULL不工作了某些碼數據類型,但IS NOT NULL作品
SELECT TOP (1000)
[CustomerID], [NameStyle], [Title],
[LastName], [Suffix], [CompanyName],
[SalesPerson], [EmailAddress], [ModifiedDate]
FROM
[AdventureWorksLT2012].[SalesLT].[Customer]
WHERE
NameStyle = 0
AND (([Suffix] IS NULL)
OR (MiddleName IS NOT NULL
AND ModifiedDate > '20030901'))
這樣,我只得到結果時[Suffix] IS NULL
,無視
OR
(MiddleName IS NOT NULL
AND ModifiedDate > '20030901'
,但如果我改變
[Suffix] IS NULL by [Suffix] IS NOT NULL
它的工作如預期,顯示兩個結果,我也沒有用ModifiedDate
(Datetime
)使用
IS NULL AND IS NOT NULL,
更換Suffix
(varchar
)和它的工作。我能夠解決我的問題,打破查詢,然後使用UNION ALL,但不知道如果我在查詢上做錯了什麼,或者IS NULL對某些數據類型無法正常工作(不要認爲它是)如果有人能解釋我爲什麼會發生這種情況,我會很感激。
感謝
,它的工作中左右逢源
什麼是應該返回並且不是的行的示例? – Lamak
這是一個開始的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –
最可能的解釋是你的數據不是你想象的那樣是。我向你保證IS NULL能夠按預期工作,並且適用於所有數據類型。 –