mysql利用find_in_set对多个关键词类型的单字段精准匹配,适合多个关键词精准匹配的规则搜索

设置客服自动回复的时候涉及多个关键词精准匹配的问题,用like模糊匹配或者多个字段的模式都不合适,所以用find_in_set函数就可以满足需要了。

MySQL手册中find_in_set函数的语法解释:

FIND_IN_SET(str,strlist)

str 要查询的字符串


strlist 字段名 参数以”,”(英文逗号)分隔 如 (1,2,3,4,5,6)


查询字段(strlist)中包含(str)的结果,返回结果为null或记录


比如我有两条记录


微信截图_20210821223518.png

我精准查询匹配“水果”这条记录:

SELECT * FROM table_name WHERE  FIND_IN_SET('水果',keywords);

查询结果:

微信截图_20210821223730.png



改成“测试”精准匹配:

SELECT content, add_time, up_time, search_type, keywords, status FROM table_name WHERE FIND_IN_SET('测试',keywords);

结果:

微信截图_20210821223901.png


满意,ok!


评论/留言