列上有数字的SQL SELECT行?

时间:2011-09-29 02:14:31

标签: mysql

可能重复:How to only select numeric data from mysql?

我有一个实际上包含字符串的列(类型varchar)有没有办法选择只包含数字的行?

E.G:

COLUMN1 COLUMN2 COLUMN3
1234    dassa   dasasfa
aaaa    fdsa    dsfa 
4dsf4   dfssa   aaddss 

查询应该返回

1234    dassa   dasasfa

4 个答案:

答案 0 :(得分:1)

SELECT * FROM `table` WHERE `COLUMN1` REGEXP '^[[:digit:]]+$'

请参阅http://dev.mysql.com/doc/refman/5.1/en/regexp.html#operator_regexp

答案 1 :(得分:0)

使用与REGEXP()

匹配的正则表达式
SELECT COLUMN1, COLUMN2, COLUMN3
FROM tbl
WHERE COLUMN1 REGEXP '^[0-9]+$';

答案 2 :(得分:0)

where column1 regexp '^[[:digit:]]+$'

我认为应该这样做。

另一个想法:

where case(round(column,0) as char) = column1

答案 3 :(得分:0)

您可以通过mysql

中的此查询来执行此操作
select * from st where COLUMN1 REGEXP '^[0-9]+$';

结果将是

COLUMN1     COLUMN2     COLUMN3
1234        dassa       dasasfa