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

问题描述 投票:0回答:4

我在表格列中

pnum_s

我只需要获取那些行,

pnum_s
列中的值恰好是10个符号,所有这些符号都只是数字

为此必须编写什么查询?

我正在尝试这个:

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

但这不会返回 0 行。

mysql regex
4个回答
24
投票

您要寻找的图案是

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

一切都在手册中


7
投票

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

^[[: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}$';

2
投票

尝试这个模式:

'^[0-9]{10}$'
© www.soinside.com 2019 - 2024. All rights reserved.