MySQL以逗号隔开的字符串查询方式整理:
单个值查询使用函数进行处理,FIND_IN_SET()实用
SELECT * FROM `by_info` WHERE FIND_IN_SET('7',type_id);
多个值模糊查询,使用正则,此方式相当于 ( LIKE '%1%' OR LIKE '%2%' OR LIKE '%5%' )
SELECT * FROM `by_info` WHERE type_id REGEXP '1|2|5';
或者
SELECT * FROM `by_info` WHERE type_id REGEXP '(1|2|5)';
多个值匹配查询,使用正则,此方式相当于 ( FIND_IN_SET('1',type_id) OR FIND_IN_SET('2',type_id) OR FIND_IN_SET('5',type_id) )
SELECT * FROM `by_info` WHERE type_id REGEXP '(^|,)(1|12|5|9)(,|$)';
以上是相关介绍,大家如有更好的方式,欢迎一起分享探讨!