使用函数FIND_IN_SET(str,strlist)--(推荐)
函数介绍:返回在strlist中str字符串通过“,”分隔成列表后所在的位置(索引),如
SELECT FIND_IN_SET("c", "a,b,c,d,e"); 返回3(索引从1开始)
有了这个方法再回到之前的sql语句可以变成如下:
select name,brand_management from t_customer where FIND_IN_SET('1',brand_management)
上面的where语句和FIND_IN_SET('1',brand_management) > 0是相等的,只是默认查询的是索引 > 0的结果。
结果如下:完美解决(唯一的遗憾是字段值只能以逗号分隔)
内容为动态时的查询语句:
select * from uf_ce_dbsx
where FIND_IN_SET((select id from hrmresource where id=26),kckr_ids)>0;