使用正则表达式只获取数字

时间:2013-06-04 15:52:00

标签: mysql regex

我在表格列pnum_s

我只需要获取行,pnum_s列中的值恰好是10个符号,所有这些符号只是数字

必须为此写什么查询?

我正在尝试

SELECT * FROM mytable WHERE pnum_s REGEXP '^\d+$'

但这不会返回0行

4 个答案:

答案 0 :(得分:18)

您要查找的模式是'^[0-9]{10}$''^[[:digit:]]{10}$'

一切都是in the manual

答案 1 :(得分:6)

查看参考页面。

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

您正在寻找的是:

SELECT * FROM mytable WHERE pnum_s REGEXP '^[[:digit:]]{10}$';

答案 2 :(得分:5)

我认为使用Mysql你会想要这样的东西:

^[[:digit:]]{10}$

答案 3 :(得分:1)

尝试这种模式:

'^[0-9]{10}$'