15年软件开发经验 只做源码定制 互联网+定制化解决方案

15年软件开发经验,只做源码定制!

原创设计 定制开发

满足您的个性化需求

当前位置:首页 后端开发 Thinkphp5

mysql在字符串形式存的id字段中,提取出指定id

李石超| 发布于 2022-04-10 11:59:35| 155阅读| 0点赞| 0评论
举报

使用mysql函数find_in_set()在字符串形式存的id字段中,提取出指定id

select * from table where find_in_set(str,strlist);

find_in_set()函数中,第一个参数是要查询的字符串或id,第二个参数是包含id的以“,”英文逗号分割的字符串,例如:1,2,3,4,5;

find_in_set()和like的区别

在操作mysql数据库时,想要在一个以逗号分割的多个id组成的varchar字段中查询到指定id,用like查询时,如果查询这样一个表

idcateid
11,2,3,6,4,5
211,12,13,14
3110,220,130,410

假如用like查询cateid中属于分类2的数据,'%2%',就会将这三条数组全部查询出来,因为它们的字符串中都包含'2',而使用find_in_set()就只查询到id为1的数据,从而得到我们想要的结果。

find_in_set顾名思义,find查找in在什么什么里面set有‘一组/集’的意思。

find_in_set的第二个参数必须使用英文逗号分隔id。

总结:like是广泛的模糊匹配/查询,被查询的字符串中没有分隔符也可以查询,find_in_set是精确的匹配,字符串中必须有英文逗号','做分割。

0

0条评论

别默默看啦~登录/注册一起参与讨论吧~

热门标签

李石超
微信扫一扫立即咨询
账号登录|扫码登录

立即注册 |忘记密码?

欢迎注册

已有账号马上登录

重置密码

扫码绑定微信
微信扫一扫

绑定手机号

分享到-微信

举报

  • 举报类型:

  • 举报描述:

您好,当前积分不足。

在线客服
拨打电话
17330196230 13230981129
顶部