我有一個運行良好的查詢,然後我想添加到現有的where條件是這樣的:! 和some_column = 1個=在MySQL沒有工作,我希望
這列值爲空。但查詢停止查找它用來查找的行。任何想法爲什麼?
謝謝。 亞歷
我有一個運行良好的查詢,然後我想添加到現有的where條件是這樣的:! 和some_column = 1個=在MySQL沒有工作,我希望
這列值爲空。但查詢停止查找它用來查找的行。任何想法爲什麼?
謝謝。 亞歷
SQL是臭名昭著其比較處理空值的。如果列可以爲空,你想這樣做就可以了比較,你應該使用ISNULL:
WHERE ISNULL(column_name, -1) != 0
這應該照顧你的問題。
根據定義,NULL爲「未知值」...因此,null!= 1是未知結果。 NULL 可能爲爲1,它可能不是 - 但關鍵是SQL不會嘗試猜測。這是SQL處理值的一種奇怪的方式,但它就是這樣。
因此,如果你想佔你需要你的地方改成這樣可能空:
AND some_column != 1 AND some_column IS NOT NULL
什麼是您查詢是什麼樣子? – BoltClock 2011-03-09 06:04:36