查询中的MS Access SQL奇怪IIF

查询中的MS Access SQL奇怪IIF,sql,ms-access,Sql,Ms Access,我在查询中找到:&“=”,我不知道这是什么意思 IIf(((Field1 Like '*POU*' Or Filed1 Like '*MLS*') And Field2 & ""="") Or (Field1 & ""="" And Field2 & ""=""),"TRUE","FALSE") AS POU 考虑一下&“=” Field2&=“” 该表达式要求db引擎将空字符串(“)连接到Field2的值,并检查连接的结果是否等于空字符串 每当Field2的起始值

我在查询中找到:
&“=”
,我不知道这是什么意思

IIf(((Field1 Like '*POU*' Or Filed1 Like '*MLS*') And Field2 & ""="") 
Or (Field1 & ""="" And Field2 & ""=""),"TRUE","FALSE") AS POU

考虑一下
&“=”

Field2&=“”
该表达式要求db引擎将空字符串(
)连接到Field2的值,并检查连接的结果是否等于空字符串

每当Field2的起始值为Null或空字符串时,
Field2&
将为空字符串。。。因此,平等比较将是正确的

如果Field2包含除Null或空字符串以外的任何内容,
Field2&“
将不会是空字符串。。。因此,这种比较是错误的

换句话说,
Field2&=“=”
是表达此逻辑的更简洁的方式

Field2为空或Field2=“”