我有一个包含以下值的表:
id | value |
-----------------------
1 | 1,2,5,8,12,20 |
2 | 11,25,26,28 |
-----------------------
现在我想搜索一些以逗号分隔的ID,例如来自上面的值列的’1,3,6,7,11′,例如
SELECT id FROM tbl_name
WHERE value REGEXP '*some reg exp goes here containing 1,11*'
LIMIT 1,0;
SELECT id FROM tbl_name
WHERE value REGEXP '*some reg exp goes here containing 3,27,15*'
LIMIT 1,0;
第一个查询应该返回1,而第二个应该返回NULL
我是新手,正规表达可以任何人帮助.谢谢
最佳答案
REGEXP '(^|,)(1|3|6|7|11)(,|$)'
将匹配包含序列1,11的一个数字的所有值.
您不应使用一列来保存多个值.规范化数据!
编辑回答