首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL匹配字符串的所有出现

MySQL匹配字符串的所有出现
EN

Stack Overflow用户
提问于 2017-12-06 16:58:57
回答 1查看 419关注 0票数 0

我在mysql查询中遇到了匹配字符串的问题,我使用的是Laravel。我的问题就在这条线上

代码语言:javascript
复制
-> where ('service', 'like', '%'. $request->get('service') . '%')

我请求的服务是hair cut women,数据库中的serviceHair Women Style & Cut。由于某种原因,这两个字符串不匹配。

所以,

play gameplay good two & game不匹配

上面的查询应该用于此匹配吗?特别的牧师&是否妨碍了比赛?我对MySQL没有经验,所以我在寻求帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-06 17:09:42

%string%string与其前后的0或多个字符匹配。

%hair cut%将匹配cool hair cut,但不匹配hair for cut,因为其中混合了不匹配的单词。

如果您希望匹配单词,则必须拆分搜索项并创建多个where子句。

代码语言:javascript
复制
$terms = explode(" ", $request->get('service'));
for ($terms as $term)
    $query->where('service', 'like', '%'. $term . '%')

生成的查询将类似于

代码语言:javascript
复制
WHERE service LIKE '%hair%' AND service LIKE '%cut%'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47679632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档