这个问题还炸了群。。。虽然没解决,但很是开心
需求:数据库中存的是字符串数组,然后请求参数又是字符串数组。。需要从两个数组中拿出参数进行比较,如果匹配成功就拿出这条数据
array请求参数=[1,2,3] array数据库字段=[3,4,5]
解决方案(失败):很多人说用in或者使用find_in_set,但是这种无法满足多对多的需求。
解决方案(成功):
1、后来分析需求,数据库字段可以去掉中括号3,4,5
2、请求参数可以去掉中括号,并且用|隔开1|2|3,好我们要放大了
3、思来想去,发现可以使用MySQL的正则表达式来进行数据匹配,看sql语句
select *
from 表名 wu
WHERE
wu.字段名 REGEXP '102|103';