1

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

SELECT * FROM table as p WHERE p.test between 0 AND 999

但结果来了——

747
748
749
FO4001
FO4002
750
751

我想问两件事——

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

FO4001
FO4002

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

4

1 回答 1

4

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

SELECT * 
FROM table1 
WHERE x BETWEEN 0 AND 999
      AND x REGEXP '^[0-9]+$';

SQLFiddle 演示

于 2012-10-05T09:24:16.890 回答