我需要使用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
谢谢!
答案 0 :(得分:20)
要匹配以任何两位数字开头的行,您可以使用:
SELECT *
FROM yourtable
WHERE yourcolumn REGEXP '^[0-9][0-9]';
如果您只想允许以11
,12
或30
开头的行,那么您可以使用此功能:
SELECT *
FROM yourtable
WHERE yourcolumn REGEXP '^(11|12|30)';
这将无法在列上使用索引,因此它可能比使用LIKE慢。