一.怎么说哪,这个函数比较好玩。
语法: FIND_IN_SET(str,strlist)
重点是逗号
听网上的人员说,这个函数是经过特殊优化的,比较快。现在简单的来说一下,这个函数怎么使用,此处分两种 情况讲解,看一下就会。
原表:在这里插入图片描述
1)select * from test_newest where FIND_IN_SET(str,"a,sc,cac")
结果:
说明:上述是,FIND_IN_SET(数据库表字段,以逗号分隔的一个字符串)
2)select * from test_newest where FIND_IN_SET("a",str)
说明: 上述是FIND_IN_SET(以逗号分隔的一个字符串,数据库表字段)
二. 特殊说明: in,like
(补充,in一般是: 数据库字段 in (逗号分开的多个字符串,用于数据库单个字符匹配外部的多个字符串。like一般用于数据库中的长字符串匹配外部的单个)
(1): in(“字符串1”,“字符串2”) 里面是以逗号分隔开的多个字符串 而 FIND_IN_SET的第二个参数是一个字符串。与第一个场景实现同样效果的sql区别。
select * from test_newest where str in ("a","sc","cac")
(2): like,恩看看结果吧,没有以逗号来区分,所以说逗号是重点。
讲得不好的地方,请各位指正!谢谢