在 MS Access 的 Count(IIF()) 中使用 LIKE,得到 NA 计数

Using LIKE in Count(IIF()) in MS Access, get NA count

我正在尝试在 MS Access 中的 table 中获取字段中的 NA 计数。我有多个 NA:

  1. #N/A*(即以散列开头的 NAs & "N/A" & 一些不同的文本。)
  2. 不适用
  3. N/A

(它们对我们来说都有不同的意义,所以拥有不同的 NA 实际上很有用。)

这适用于一个特定的 NA,"#N/A N/A":

SELECT Count(IIf([Short Int % Eqy Flt] = '#N/A N/A' ,0 )) AS MyTotal
FROM tblFirst250

上面return的141,好像是对的

这个returns 0:

SELECT Count(IIf([Short Int % Eqy Flt] LIKE '#N/A' ,0 )) AS MyTotal
FROM tblFirst250

上面应该是 return 142 因为我有 141 个“#N/A N/A”和 1 个“#N/A Invalid Security”.

我真正想要的是在 [Short Int % Eqy Flt] 字段中计算我所有的 NA。请参阅上面的 NA 列表。

#Like 模式中使用时具有特殊含义 [任何单个数字 (0–9)]。您可以通过将其放入这样的字符范围内来告诉 Access 将其视为普通的 # 字符 ... [#].

此外,我认为您想要匹配 [#]N/A 后跟其他字符,因此在模式末尾添加一个通配符。

SELECT Sum(IIf([Short Int % Eqy Flt] LIKE '[#]N/A*', 1, 0)) AS MyTotal
FROM tblFirst250;

我用 Sum 而不是 Count。但是如果你更喜欢 Count ...

SELECT Count(IIf([Short Int % Eqy Flt] LIKE '[#]N/A*', 1, Null)) AS MyTotal
FROM tblFirst250;