搜索mysql中的特定单词

时间:2018-12-07 23:38:33

标签: mysql

nil

返回此:

select * from data WHERE name LIKE  '%Hi There%';

我只希望返回Hi There John Hi There Man Hi There Hi There Mate Hi Theres Alice Hi Theree Man Hi There JohnHi There MateHi There,因为它们特别包含Man Hi ThereHi ThereHi Theres Alice不应出现。

这怎么办?

3 个答案:

答案 0 :(得分:2)

如果我理解正确,则应该可以:

SELECT * FROM data WHERE
    name LIKE 'Hi There %' OR
    name LIKE '% Hi There %' OR
    name LIKE '%Hi There';

答案 1 :(得分:0)

使用正则表达式代替LIKE。然后,您可以使用[:<:][:>:]来匹配单词边界。

select * from data WHERE name RLIKE  '[:<:]Hi There[:>:]';

答案 2 :(得分:0)

您可以使用正则表达式精确获取具有所需值的行。查询将为您提供所需的内容,如下所示:

select * from data WHERE name REGEXP '{^\bHi There\b\s*.*$}';