您也许可以使用REGEXP
通过一些巧妙的替换来做到这一点。
认为这应该可以做到(免责声明:尚未对其进行广泛测试):
SELECT col1,
col2,
CONCAT('(', REPLACE(col2, ',', '(\\,|$)|'), '(\\,|$))') AS regex,
col1 REGEXP CONCAT('(', REPLACE(col2, ',', '(\\,|$)|'), '(\\,|$))') AS intersect
FROM tbl
See http://sqlfiddle.com/#!2/7b86f/3 http://sqlfiddle.com/#!2/7b86f/3
解释一下:这转换col2
到正则表达式中进行匹配col1
. The (\,|$)
位与逗号或字符串末尾匹配。希望这可以帮助...