MySQL-mysql 如何查询指定的多个值是否在以逗号分隔的数据中?

小组聊天灌水 小组聊天灌水 主题:993 回复:2175

MySQL-mysql 如何查询指定的多个值是否在以逗号分隔的数据中?

偏爱自由 发布于 2017-05-21 字数 292 浏览 991 回复 1

一个字符一般使用find_in_set(str,strlist),如:
select find_in_set('2','4,3,5,2,1')
但是如果检测多个值是否都存在就不可以了;
如果数据是有序的,可以使用 locate() ,like等查询,如:
select locate('2,3,4','1,2,3,4,5'),但是对于无序的数据,查询多个值是否都存在该如何实现?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

清晨说ぺ晚安 2017-06-04 1 楼

换个思路,给个笨方法,把多个拆分成单个也可以呀就是sql麻烦点:

select find_in_set('2', '1,2,3,4,5') OR find_in_set('3', '1,2,3,4,5') OR find_in_set('4', '1,2,3,4,5')
select find_in_set('2', '1,2,3,4,5') AND find_in_set('3', '1,2,3,4,5') AND find_in_set('4', '1,2,3,4,5')