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