我有一个运行良好的查询,然后我想添加到现有的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