转载请注明来源 - 作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/78611636,建议读者阅读原文,确保获得完整的信息
场景介绍
人有时会身兼数职,需要查找出其中担任某一职务的都有哪些人,如下面位置字段,不同的职务用数字表示,多个职务以逗号隔开。
先要查找出担任1职务的人员,通过以下两种方式来查询。
方式一
采用模糊查询,匹配出1职务的记录,如下SQL:
select * from user where position like '%1%'
- 1
查询结果如下,仔细观察你会发现为10位的也被查出来了,但这个不符合业务要求。
方式二
采用的MySQL的的原生函数FIND_IN_SET(STR,数组)来查询,SQL如下:
select * from user where find_in_set(1,position)
- 1
查询结果如下,符合要求。
函数介绍
FIND_IN_SET(STR,strlist),注意其中strlist只识别英文逗号。
https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_find-in-set
版权声明:本文为博主原创文章,未经博主允许不得转载.https://blog.csdn.net/loongshawn/article/details/78611636