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

OTA*_*TAR 9 regex mysql

我有表格专栏 pnum_s

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

什么查询必须为此写?

我在尝试

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

但这不会返回0行

Ran*_*eed 19

您正在寻找的模式是'^[0-9]{10}$''^[[:digit:]]{10}$'.

一切都在手册中.


小智 6

查看参考页面.

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

您正在寻找的是:

SELECT * FROM mytable WHERE pnum_s REGEXP '^[[:digit:]]{10}$';
Run Code Online (Sandbox Code Playgroud)


小智 5

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

^[[:digit:]]{10}$
Run Code Online (Sandbox Code Playgroud)