结合 IsNumeric 和 Right()

Combine IsNumeric and Right()

正在尝试 return 没有字母的字段 [doc]。结果到处都是。

SELECT Right([doc],4) AS ex1, IsNumeric([ex1]) AS ex2
FROM stat_converted;

查询 return 有两个字段,但计算不正确。所有数字和其他所有字母的结果返回为 True(-1)。

我还尝试构建一个临时文件 table,然后将 IsNumeric 应用于它,结果相同。

我还构建了一个小型测试数据库,逻辑正常,所以我真的很困惑。

IsNumeric 将匹配“2E+1”(2 乘以 1 的次方,即 20),因为这是科学格式的数字。根据 IsNumeric,“0D88”也是一个数字,因为它是“0E88”的双精度版本(因此是 "D")。

您可以使用 LIKE '####' 来精确匹配四位数字 (0-9)。

如果您有更复杂的匹配要求,比如可变数量的数字,您会对 Expressing basic Access query criteria as regular expressions 感兴趣。