php - MySQL 正则表达式 LIKE

标签 php mysql sql

我有一个遵循这种模式的专栏:

XXXXX-and_some_text

其中 XXXXX 可以是 3 到 5 位数字,后跟破折号。像这样的正则表达式:

\d{3,5}-

将找到与以下相同的行 喜欢“XXX%”

我想找到完全匹配的行,例如

查找 903 应找到 903-Text,而不是 9030-Other_Text 或 90344-Another-Text。

我可以随后在我的 php 代码中过滤行,但在单个 sql 语句中完成此操作会更好。

有什么想法吗?

最佳答案

以下是一些方法:

where col like 'XXX-%'
where col regexp '^XXX-'
where substring_index(col, '-', 1) = 'XXX'

第一种方法的优点是它可以在列上使用索引(如果可用)。

关于php - MySQL 正则表达式 LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57076934/

相关文章:

php - 从结果表生成体育联赛表

sql - 在下一个查询中保持 SQL 排序状态?

mysql - 不更新表行的过程

MySQL:选择唯一名称,但对匹配列求和

php - 如何使用 for 循环和 union all 按列进行分组

PHP CURL 与 PECL_HTTP

php - Composer 自动加载命名空间错误

java - 如何按第一列对 excel 文件进行排序? java

MySQL在同一个表中选择不同的值作为不同的列?

php - 在 Laravel 5.2 中将数据插入数据透视表