我有一个包含以下值的表:
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的一个数字的所有值.
您不应使用一列来保存多个值.规范化数据!
编辑回答
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。