MySQL REGEXP用于以。开头的数字

时间:2010-09-14 20:35:12

标签: mysql regex

我需要使用MYSQL REGEXP编写一个查询,它会找到某些列以11或12等开头的行。我知道我可以使用LIKE或LEFT(####,2)但是想要使用REGEXP选项。我的数据存储为110001,122122,130013a等。

编辑1:

为了更清楚,我想表达

SELECT * FROM table WHERE column LIKE '11%' or column LIKE '12%' or column LIKE '30%'"     

使用REGEXP

谢谢!

1 个答案:

答案 0 :(得分:20)

要匹配以任何两位数字开头的行,您可以使用:

SELECT *
FROM yourtable
WHERE yourcolumn REGEXP '^[0-9][0-9]';

如果您只想允许以111230开头的行,那么您可以使用此功能:

SELECT *
FROM yourtable
WHERE yourcolumn REGEXP '^(11|12|30)';

这将无法在列上使用索引,因此它可能比使用LIKE慢。