MySQL字符串函数【返回子串位置find_in_set(s1,s2)】

-- MySQL字符串函数【返回子串位置find_in_set(s1,s2)】

/**     FIND_IN_SET(s1,s2)函数返回在字符串s2中与s1匹配的字符串的位置.
         字符串s2中包含了若干个用逗号隔开的字符串
*/
-- 字符串'like'在字符串'i,like,bei,jing'的第二个位置上
select find_in_set('like','i,like,bei,jing');
-- 【例子】:
-- 1).建临时表
create table test(
id bigint(20),
category varchar(255)

);

-- 2).插入测试数据
insert into test(id,category) values(1,'350,351,356,405');
insert into test(id,category) values(2,'350,351,405');
insert into test(id,category) values(3,'350,351');

select * from test ;

id category
1 350,351,356,405
2 350,351,405
3 350,351

-- 3).作为where查询条件,用来限制表中某个字符串字段,如产品分类字段中存放多个分类,逗号,来区别;字段中存放多个产品id等情况

select * from test where  find_in_set('356',category);
id category
1 350,351,356,405

-- 作为where查询条件, 2个及以上的数值限制
select * from test where  find_in_set('351',category) and find_in_set('405',category) ;
id category
1 350,351,356,405
2 350,351,405

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值