我有一张表格,其中包含我公司产品的详细信息,其中一列有产品类别,但还有尚未归类的产品的空字符串。
我试图过滤掉类别'垃圾桶'剩下的包括空的,但是当我应用过滤器时,空的过滤器也在消失...... 这是正常的吗?我怎样才能过滤掉垃圾'并留下其他一切,包括空值?
我正在使用WHERE
这样的句子:
WHERE
table.month = 8 AND table.category <> 'trash'
答案 0 :(得分:4)
您可能拥有category
NULL
条目。因此,不会返回它们,因为根据定义,比较null <> 'trash'
既不是true
也不是false
,但WHERE
子句只会返回所有条件为{{的记录1}}。
你可以修改你的陈述:
true
或者这个:
WHERE table.month = 8 AND ISNULL(table.category, '') <> 'trash'
这个前者用空字符串替换WHERE table.month = 8 AND (table.category is null OR table.category <> 'trash')
值,这应该返回你想要的值。