结合IsNumeric和Right()

时间:2017-01-05 18:47:38

标签: ms-access-2010

enter image description here

尝试返回没有字母的字段[doc]。结果到处都是。

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

查询返回两个字段,但不能正确评估。所有数字和其他全部字母的结果将返回True(-1)。

我还尝试构建临时表,然后将IsNumeric应用于具有相同结果的表。

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

1 个答案:

答案 0 :(得分:3)

IsNumeric会匹配" 2E + 1" (2倍于10的幂,即20),因为这是科学格式的数字。 " 0D88"也是IsNumeric的数字,因为它是" 0E88"的双精度(" D")版本。

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

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