在Access中,我有一个非常简单的查询,应该显示 AD电子邮件地址字段与 AD用户主体名称
不同的所有记录SELECT * FROM [Active Directory] WHERE [AD Email Address] <> [AD User Principal Name];
此查询无误,但我发现不包含空 AD电子邮件地址但非空 AD用户主体名称的记录。
如何调整查询以包含这些结果?
答案 0 :(得分:0)
正式答案是明确处理NULL
值。所以,“正确”的答案是:
WHERE [AD Email Address] <> [AD User Principal Name] OR
[AD Email Address] IS NULL AND [AD User Principal Name] IS NOT NULL OR
[AD Email Address] IS NOT NULL AND [AD User Principal Name] IS NULL
通常,这是使用NZ()
:
WHERE NZ([AD Email Address], "") <> NZ([AD User Principal Name], "")
当底层字段不是空字符串时,这是有效的。
答案 1 :(得分:0)
将此添加到查询的末尾:
or ([AD Email Address] is null and [AD User Principal Name] is not null)
将使用空白电子邮件地址和非空白主要名称为您以前的结果和所有内容提供。