从Mysql查询中筛选整数结果

时间:2012-10-05 09:16:57

标签: mysql

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

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

但结果来了 -

747
748
749
FO4001
FO4002
750
751

我想问两件事 -

1)有没有办法排除以下结果 -

FO4001
FO4002

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

1 个答案:

答案 0 :(得分:4)

尝试这一个,使用REGEXP来测试该值是否全部为数字。

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

SQLFiddle Demo