SQL 问题:WHERE field="XXX" 有效,但 WHERE field<>"XXX" returns 空白 table
SQL problem: WHERE field="XXX" works, but WHERE field<>"XXX" returns blank table
所以我有一个工作正常的查询,但被要求添加另一个限定符。
我们想要删除在特定列中具有特定文本的结果。如果没有这个限定符,我会得到一个 table,其中包含 NULL 和所述列中的 this 文本。
添加
WHERE field='TEXT'
让我列出我想排除的那些。但是 none 对立面起作用。
WHERE field<>'TEXT'
、WHERE NOT field='TEXT'
、WHERE field NOT LIKE 'TEXT'
和 WHERE field NOT LIKE '%TEXT'
都给我同样的东西——空白 table。
有人能帮忙吗?
Without this qualifier I get a table that has NULLs and the this text in said column
如果您的 table 看起来像这样:
Field
TEXT
TEXT
NULL
TEXT
然后 field = 'TEXT'
的 WHERE 子句将 return 3 行,但是 field <> 'TEXT'
的 WHERE 子句将正确地 return 没有行。没有什么等于空值,甚至不等于另一个空值。也没有什么不等于 null。这意味着 TEXT
行被排除,因为 WHERE field<>'TEXT'
为假,但空值被排除,因为 null<>'TEXT'
的结果实际上为空,当where 子句选择包含行
所以我有一个工作正常的查询,但被要求添加另一个限定符。
我们想要删除在特定列中具有特定文本的结果。如果没有这个限定符,我会得到一个 table,其中包含 NULL 和所述列中的 this 文本。
添加
WHERE field='TEXT'
让我列出我想排除的那些。但是 none 对立面起作用。
WHERE field<>'TEXT'
、WHERE NOT field='TEXT'
、WHERE field NOT LIKE 'TEXT'
和 WHERE field NOT LIKE '%TEXT'
都给我同样的东西——空白 table。
有人能帮忙吗?
Without this qualifier I get a table that has NULLs and the this text in said column
如果您的 table 看起来像这样:
Field
TEXT
TEXT
NULL
TEXT
然后 field = 'TEXT'
的 WHERE 子句将 return 3 行,但是 field <> 'TEXT'
的 WHERE 子句将正确地 return 没有行。没有什么等于空值,甚至不等于另一个空值。也没有什么不等于 null。这意味着 TEXT
行被排除,因为 WHERE field<>'TEXT'
为假,但空值被排除,因为 null<>'TEXT'
的结果实际上为空,当where 子句选择包含行