我发现 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')
除此之外,还有其他方法吗?
没有本机函数可以执行此操作,但是您可以使用以下技巧来实现目标
WHERE CONCAT(",", `setcolumn`, ",") REGEXP ",(val1|val2|val3),"