MySQL REGEXP 用于以开头的数字

标签 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%'"     

使用正则表达式

谢谢!

最佳答案

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

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

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

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

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

关于MySQL REGEXP 用于以开头的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3712685/

相关文章:

MySQL 查询 Case When 30 天、60 天和不计划输出

mysql - MYSQL 错误 1193--在同一个表上更新

mysql - AWS SSH 和 RDS 权限被拒绝 - 公钥

php - 在未启用远程 SQL 访问的情况下将数据从本地 SQL 数据库放入远程 SQL 数据库 (PHP)

mysql - 如果结果不匹配,请从另一个表中选择

Javascript 多个正则表达式模式

regex - 如何使用自定义分隔符删除模式之间的行

javascript - 我需要一个全面的正则表达式来创建连字符的单词链接

c++ - 用于检测分号终止的 C++ for 和 while 循环的正则表达式

javascript - 大括号内的逗号分割值正则表达式javascript