我有一个查询,我想要排除某个字段具有特定文本值的结果。但是,我不想排除空白或其他值。
这就是我所做的: 领域A. Critera:不是“Healthspan”
当我运行此查询时,它成功排除了Healthspan,但它也排除了所有空白字段。对此有何解决方案?
答案 0 :(得分:0)
您的查询仅返回条件[Field A] <> "Healthspan"
为True的行。但是,当[Field A]
为空时,条件将被计算为Null,而不是True,以便排除该行。
+--------------+-----------------+
| Field A | <> "Healthspan" |
+--------------+-----------------+
| "Healthspan" | False |
+--------------+-----------------+
| "foo" | True |
+--------------+-----------------+
| Null | Null |
+--------------+-----------------+
使用OR
添加第二个条件,以包含空值为[Field A]
的行:
SELECT y.*
FROM YourTable AS y
WHERE
y.[Field A] <> "Healthspan"
OR y.[Field A] Is Null;
答案 1 :(得分:0)
您需要使用IsNull()函数。
Not "Healthspan" OR IsNull([tblTableName].[Field A])=True
你会发现IsNull()函数非常方便。