php - 在 mysql 中搜索特定的单词

标签 php mysql regex

我在mysql数据库中有如下字符串

"Good Mayer Brown Corporate & Securities"
"Three Mayer Brown Good & Securities"
"Three Mayer Brown Corporate & Good"
"Three Mayer Brown Goodies & Securities"

我需要找到与 LIKE %% 关键字不同的确切词。这是例子,

我需要选择带有 "Good" 关键字的行。这将选择前 3 行。最后一个有额外的词,如 "ies" 这是我的预期结果

    "Good Mayer Brown Corporate & Securities"
    "Three Mayer Brown Good & Securities"
    "Three Mayer Brown Corporate & Good" 

我已经尝试过以下查询。

SELECT * FROM table WHERE myword LIKE '% Good %'  OR myword LIKE 'Good%' OR myword LIKE '% Good'

但这对我不起作用。

最佳答案

SELECT * FROM table WHERE myword REGEXP '^.*GOOD.*$

您可以使用 REGEXP 来执行此操作。或者

SELECT * FROM table WHERE myword REGEXP '[[:<:]]GOOD[[:>:]]'

word boundary 一起使用。参见演示。 http://www.sqlfiddle.com/#!9/e1b9d/6/0

关于php - 在 mysql 中搜索特定的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29142356/

相关文章:

PHP_SELF 给出错误消息的代码

MYSQL 提高超大表的性能

ios -\d 和\w 元字符是否包含国际字符?

regex - Mac OS X 上的 grep/ack 查找多个字符串并尊重文件类型

Python 用正则表达式解析数据变成字典。

php - 使用 MySql 结果在 PHP 中选择组合框值

javascript - 如何使用ajax从div id中提取数据?

php - 来自 blob 对象的图像未显示在页面中

PHP fgetcsv() 分隔符 ';' 无法识别

php - 如何在 Laravel 中按字母顺序对记录进行排序