MySQL函数find_in_set场景介绍

248次阅读
没有评论

    场景介绍

    人有时会身兼数职,需要查找出其中担任某一职务的都有哪些人,如下面position字段,不同的职务用数字表示,多个职务以逗号隔开。

    先要查找出担任1职务的人员,通过以下两种方式来查询。

    方式一

    采用模糊查询,匹配出1职务的记录,如下SQL:

    select * from user where position like '%1%'

    查询结果如下,仔细观察你会发现position为10的也被查出来了,但这个不符合业务要求。

    方式二

    采用MySQL的原生函数find_in_set(str,array)来查询,SQL如下:

    select * from user where find_in_set(1,position)

    查询结果如下,符合要求。

    函数介绍

    FIND_IN_SET(str,strlist),注意其中strlist只识别英文逗号。

    https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_find-in-set

    转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/78611636,建议读者阅读原文,确保获得完整的信息

    到此这篇关于MySQL函数find_in_set介绍的文章就介绍到这了,

    正文完
     0
    samly
    版权声明:本站原创文章,由 samly 于2026-01-21发表,共计567字。
    转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。