mysql 如何查询指定的多个以逗号分割值是否在以逗号分隔的数据中
比如有个table1的表,里面有一栏叫 tag ,tag中的数据为
tag
——
34,2
10
10,34
10,2
10,34,2
查询条件 tag 为34,10的时候 只要求查询出 第二条(10)和第三条(10,34)的记录,
tag为为10,2的时候 只要求查询出 第二条(10)和第四条(10,2)的记录,
多谢~~~~
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
由于MySQL没有
split功能,因此只能自己弄一个。但MySQL函数不能返回结果集,所以没法以
select xxx()这种方式使用。也许我们可以写一个procedure,我按题主的要求大致实现了一个,或许可以参考一下:
调用起来很方便,只需要:
有个很搓的写法,如果每加一个值就往后面加四个or
select * from table1 where tag = '10' or tag like '%,10' or tag like '10,%' or tag like '%,10,%';
使用find_in_set, 正是你想要的,