从 Mysql 查询中过滤整数结果

Irf*_*fan 2 mysql

我有一个 Mysql 查询。我只想过滤整数结果。我的查询是-

SELECT * FROM table as p WHERE p.test between 0 AND 999
Run Code Online (Sandbox Code Playgroud)

但结果是这样的——

747
748
749
FO4001
FO4002
750
751
Run Code Online (Sandbox Code Playgroud)

我想问两件事——

1)有什么方法可以排除以下结果-

FO4001
FO4002
Run Code Online (Sandbox Code Playgroud)

2)为什么这些会出现在结果中?

Joh*_*Woo 5

试试这个,用来REGEXP测试值是否都是数字。

SELECT * 
FROM table1 
WHERE x BETWEEN 0 AND 999
      AND x REGEXP '^[0-9]+$';
Run Code Online (Sandbox Code Playgroud)

SQLFiddle 演示