请问 mysql 里如何判断两个 CSV 有交集?

假设表 t 的列 csv 存的都是以 , 分隔的值(值本身肯定没有 , );
id | csv
1 | 'v1,v2,v3'
2 | 'v2,v3'
3 | 'v3'
...

现在我想把 csv 列含有 'v1'、'v2' 任何一个的行都选出来,就是只要 csv 列与 'v2,v1' 存在非空交集的行(CSV的顺序无所谓);请问 SQL 应该怎么写?

上例中,选出来的是前两行。谢谢!

阅读 2k
1 个回答
select * from t where FIND_IN_SET('v1',csv) or FIND_IN_SET('v2',csv);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题