我想从mysql表中获取条目,该表在逗号分隔的列表中包含给定的id。我想使用正则表达式和类似的选择器。
我现在的方法是这样的
SELECT * FROM table WHERE list LIKE '%,0,%';
问题是这样会忽略列表中的第一个和最后一个元素,如“0,1,2,3”。
我试过用or运算符来测试所有可能的情况。
SELECT * FROM table WHERE list LIKE '(%,0,%)|(^0,%)';
我试过这个方法,有没有^字符,有没有括号,但在所有情况下,这个方法甚至都不匹配中间的字符。事实上,or运算符似乎不适用于最简单的表达式,如
SELECT * FROM table WHERE list LIKE '%(1|2)%';