开发者社区 问答 正文

MySQL find_in_set与多个搜索字符串

我发现find_in_set仅按单个字符串搜索:

find_in_set('a', 'a,b,c,d') 在上面的示例中,“ a”是唯一用于搜索的字符串。

有什么方法可以使用find_in_set类型的功能并通过多个字符串进行搜索,例如:

find_in_set('a,b,c', 'a,b,c,d') 在上面的示例中,我想通过三个字符串'a,b,c'进行搜索。

我看到的一种方法是使用OR

find_in_set('a', 'a,b,c,d') OR find_in_set('b', 'a,b,c,d') OR find_in_set('b', 'a,b,c,d') 除此之外,还有其他方法吗?

展开
收起
保持可爱mmm 2020-05-11 15:57:02 871 分享 版权
1 条回答
写回答
取消 提交回答
  • 没有本机函数可以执行此操作,但是您可以使用以下技巧来实现目标

    WHERE CONCAT(",", setcolumn, ",") REGEXP ",(val1|val2|val3),"来源:stack overflow

    2020-05-11 15:57:21
    赞同 展开评论