我有一个表,表中有一列,数据是这样存储的:
1:29,3:20,5:0,4:0,2:76
我想在php(或mysql)中发出一个查询请求,并获取在查询后数字小于10的行 " : " .因此,在这种情况下,我有 ( 29 , 20 , 0 , 0 , 76 ) ,因为我有一个小于10的数字,所以我想选这一行。
" : "
( 29 , 20 , 0 , 0 , 76 )
wljmcqd81#
一般来说,在sql中存储逗号分隔的值被认为不是一个好的设计,因为它会导致违反数据规范化规则,此外还面临许多其他问题。但既然你已经这么做了,并且想要一个正则表达式解决你的问题,你可以使用这个正则表达式,
:[0-9](,|$)
这是一个演示在mysql中,你可以编写这样的查询,
select * from tablename where columnname regexp ':[0-9](,|$)';
这将给出冒号后面至少有一个逗号分隔值小于10的行。
1条答案
按热度按时间wljmcqd81#
一般来说,在sql中存储逗号分隔的值被认为不是一个好的设计,因为它会导致违反数据规范化规则,此外还面临许多其他问题。但既然你已经这么做了,并且想要一个正则表达式解决你的问题,你可以使用这个正则表达式,
这是一个演示
在mysql中,你可以编写这样的查询,
这将给出冒号后面至少有一个逗号分隔值小于10的行。