可能重复: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
答案 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