我有一个带有列的表,其中以这种方式存储了数据:
1:29,3:20,5:0,4:0,2:76
我想用PHP(或一般来说是MySQL)发出查询请求,并获取" : "
后小于10的行。
因此,在这种情况下,我有( 29 , 20 , 0 , 0 , 76 )
,并且由于我的数字小于10,所以我想上这一行。
答案 0 :(得分:0)
通常,存储逗号分隔的值在SQL中不被认为是一种好的设计,因为它会导致违反数据规范化规则,并且还面临许多其他问题。但是,由于您已经完成了此操作,并且希望使用正则表达式解决问题,因此可以使用此正则表达式,
:[0-9](,|$)
在mysql中,您可以编写这样的查询
select * from tablename where columnname regexp ':[0-9](,|$)';
这将为您提供在冒号后至少一个逗号分隔值小于十的行。