2014-04-10 123 views
0

我已經寫了一個存儲過程,其中給定的表列中名爲xx的列可以有0,1或null。當我給出以下條件時。 SP忽略空值並僅返回0值的數據。IS NULL在SQL的WHERE子句中不起作用

WHERE (CAR_INSPECTION_NEW_TEST.NODAMAGEFLAG is null OR 
     CAR_INSPECTION_NEW_TEST.NODAMAGEFLAG = 0) AND 
     CAR_INSPECTION_NEW_TEST.ISSUBJECT_TODELIVER = 0 

任何人都可以說出是什麼問題?

+2

數據是什麼樣的?另外,這是否需要在[tag:sql-server]和[tag:mysql]上工作? –

+2

你的缺失記錄在他們的'ISSUBJECT_TODELIVER'列中有NULL嗎?你有沒有嘗試'合併(CAR_INSPECTION_NEW_TEST.NODAMAGEFLAG,0)'? – collapsar

+0

NULL的條件看起來不錯,應該可以工作,在檢查數據集並完成查詢後可以確定問題。 –

回答

1

通過簡單的邏輯,只要ISSUBJECT_TODELIVER = 0不是有效的(因爲AND),它就不會返回NODAMAGEFLAG爲空的行。

因此,請檢查您的數據。