MySql REGEXP匹配两个逗号分隔的字符串 [英] MySql REGEXP to match two comma separated strings

查看:455
本文介绍了MySql REGEXP匹配两个逗号分隔的字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含以下值的表:

I have a table containing following values :

id    |    value      |
-----------------------
1     | 1,2,5,8,12,20 |    
2     | 11,25,26,28   |    
-----------------------

现在我要搜索一些用逗号分隔的ID,例如例如,高于值列中的"1、3、6、7、11"

now I want to search some comma separated IDs e.g. '1,3,6,7,11' from above value column e.g.

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;

第一个查询上方应返回1,而第二个查询应返回NULL

above 1st query should return 1 while the 2nd should return NULL

我是新来的正则表达式,任何人都可以帮忙.谢谢

I am new with regular expressions can anyone help. Thanks

推荐答案

REGEXP '(^|,)(1|3|6|7|11)(,|$)'

将匹配包含一个数字1,3,6,7,11的所有值.

Will match all values containing one number of the sequence 1,3,6,7,11.

您不应使用一列来保存多个值.规范化数据!

You should not use one column to save several values. Normalize data!

修改后的答案

这篇关于MySql REGEXP匹配两个逗号分隔的字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆