MySQL 如何进行反向模糊匹配?

2014-09-13 11:30:43 +08:00
 andybest
表字段中储存 keyword,例如分别储存三条记录keyword分别为:a、b、c
给出字段 'bbb' 要求返回对应keyword的第一条记录,我尝试使用:
select * from table where 'bbb' like `keyword`;
无法返回正确结果

使用:
select * from table where 'bbb' like %`keyword`%;
则是错误的SQL语句
4199 次点击
所在节点    问与答
5 条回复
frankzeng
2014-09-13 12:46:45 +08:00
select * from table where locate(keyword,'bbb');

这locate函数是locate(substr,str),自己把握。
oott123
2014-09-13 13:02:55 +08:00
like '%keyword%'
andybest
2014-09-13 13:04:02 +08:00
@oott123 keyword是字段名
oott123
2014-09-13 13:07:26 +08:00
@andybest 抱歉,我是看晕了………
like concat('%',keyword,'%') 呢
andybest
2014-09-13 13:10:47 +08:00
@oott123 谢谢,@frankzeng 的方法似乎更好些

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/133222

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX