如何在 MySQL 选择查询中编写正则表达式?
Posted
技术标签:
【中文标题】如何在 MySQL 选择查询中编写正则表达式?【英文标题】:how to write Regular Expression in MySQL select queries? 【发布时间】:2011-05-20 10:29:02 【问题描述】:我尝试使用此表达式 /\b(word\w*)\b/i
将 word
与其他单词列表进行比较以查找重复项。我使用了preg_math_all()
,效果很好。我想做同样的事情,但这次检查从 mysql 数据库中检索到的单词。这是我写的
SELECT * FROM table WHERE word = /\b(word\w*)\b/i
这没用。
【问题讨论】:
【参考方案1】:您的查询应如下所示:
SELECT * FROM table WHERE column REGEXP '/\b(word\w*)\b/i'
【讨论】:
【参考方案2】:MySQL regex syntax 与 php 不同,你不需要在开始和结束处使用分隔符。
SELECT * FROM table WHERE word REGEXP '\b(word\w*)\b'
您不能像在 PHP 中那样使用i
标志来区分大小写,就像在 MySQL 中一样,正则表达式是否区分大小写取决于列排序规则是否区分大小写。
【讨论】:
以上是关于如何在 MySQL 选择查询中编写正则表达式?的主要内容,如果未能解决你的问题,请参考以下文章