首页 > 解决方案 > 如何检索一列中有五位数字的所有行

问题描述

我的桌子看起来像这样:

id | name      | notes
 1 | person 1  | bla bla bla bla
 2 | person 2  | bla 38728 bla bla
 3 | person 3  | bla83784 bla bla
 4 | person 4  | 73804
 5 | person 5  | bla bla 3388 bla bla

我想要一个查询来检索列注释中具有五个连续数字的所有行。结果应该是这样的:

id | name      | notes
 2 | person 2  | bla 38728 bla bla
 3 | person 3  | bla83784 bla bla
 4 | person 4  | 73804

我认为这可以通过 REGEXP 实现。但显然我做错了什么

SELECT id, name, notes
  FROM table
 WHERE notes REGEXP '\d{5}'

标签: mysqlregexnumbers

解决方案


使用以下查询。我正在使用*,因为前面和后面的字符可能出现零次或多次。

SELECT id, name, notes FROM table WHERE Notes REGEXP '[0-9]{5}'

推荐阅读