如何在MySQL选择查询中编写正则表达式?

时间:2010-12-05 04:50:09

标签: php mysql regex

我尝试使用此表达式/\b(word\w*)\b/iword与其他单词列表进行比较,以找到重复项。我使用preg_math_all()并且它工作正常。我想做同样的事情,但这次检查从mysql数据库中检索的单词。这就是我写的

SELECT * FROM table WHERE word = /\b(word\w*)\b/i

这没有用。

2 个答案:

答案 0 :(得分:7)

您的查询应如下所示:

SELECT * FROM table WHERE column REGEXP '/\b(word\w*)\b/i'

答案 1 :(得分:4)

MySQL regex syntax与PHP不同,您在开始和结束时都不需要分隔符。

SELECT * FROM table WHERE word REGEXP '\b(word\w*)\b'

您不能像PHP一样使用i标志来区分大小写,就像在MySQL中一样,正则表达式是否区分大小写取决于列排序规则是区分大小写还是不