MS Access SQL奇怪的IIF查询

时间:2015-08-05 12:56:50

标签: sql ms-access

我在查询中找到了& ""="",我不知道这意味着什么

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

1 个答案:

答案 0 :(得分:2)

考虑& ""="" ...

的更多背景
Field2 & ""=""

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

每当 Field2 的起始值为Null或空字符串时,Field2 & ""将为空字符串...因此相等性比较将为True。

如果 Field2 包含除Null或空字符串以外的任何内容,Field2 & ""将不是空字符串...因此比较将为False。

换句话说,Field2 & ""=""是表达这种逻辑的更简洁方式......

Field2 Is Null OR Field2 = ""