我在MySQL表中有一个名为CODE的列,可能为空。假设有一些行是CODE='C',我希望在选择结果集中忽略它们。我的结果集中可以包含CODE=NULL或CODE!='C'。
以下查询不会返回CODE为NULL的行:
以下查询不会返回CODE为NULL的行:
SELECT * from TABLE where CODE!='C'
但是这个查询按预期工作,我知道这是正确的方法。
SELECT * from TABLE where CODE IS NULL OR CODE!='C'
我的问题是,为什么只有CODE!='C'的情况下,没有返回CODE=NULL的行?显然'C'不是NULL。我们在将无值与字符进行比较。有人能否解释一下为什么它不能这样工作?