您当前的位置: 首页 >  慌途L sql

MySQL 根据一个值查询数据表中某个字段包含某个数值 | find_in_set()

慌途L 发布时间:2019-07-24 18:51:23 ,浏览量:4

MySQL 根据一个值查询数据表中某个字段包含某个数值 | find_in_set() 一、业务描述

我有一个表结构,其中一个字段是多选的情况,所以使用多的一方表的ID用","逗号拼接起来存进这个字段,如下图所示:(每个字段里都是其他表的主键ID) 在这里插入图片描述

现在需要根据多的一方表中的某个ID去查询包含这个ID 的数据,如以上三个字段,都是一对多,包含其他表的ID,然后我根据 certification_id 和 patent_id 去查询

二、FIND_IN_SET(str,strList) 函数的语法
  • str 要查询的字符串
  • strList 字段名,参数以“,”分隔,如(1,2,6,8)
  • 查询字段(strList)中包含的结果,返回结果null或记录。
三、测试(在真实sql查询中匹配到则有数据返回,没匹配到则不返回) - 3.1 匹配到则返回相应的下标(下标从1开始):

在这里插入图片描述

- 3.2 没匹配到则返回0:

在这里插入图片描述

四、实例 4.1 数据库中的数据

在这里插入图片描述

4.2 以certification_id 的 1和4 、patent_id 的 2 去查询,同时匹配到则返回数据

在这里插入图片描述

五、扩展 5.1 中文存入其中也可以进行,字符串都行 5.2 在 mybatis 的 xml 中使用示例(根据需求改动):

在这里插入图片描述

关注
打赏
1688896170
查看更多评论

慌途L

暂无认证

  • 4浏览

    0关注

    118博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1283s