正则表达式从字符串中搜索数字

时间:2011-08-26 13:34:27

标签: mysql regex numeric

这个问题对你来说可能很简单。我正在使用mysql regexp语句。

myQuery是

select * from contents where categories regexp '{myPattern}';

类别字段区域54,25,99,4,2 ...等字符串。

我的问题如何才能从类别字段中找到“4”的数字。

抱歉我的英语。 请帮帮我。

3 个答案:

答案 0 :(得分:6)

… WHERE FIND_IN_SET('4', categories) > 0

更好的做法是使用自己的表中的类别规范化db方案,然后将这些表连接在一起m:n

答案 1 :(得分:1)

匹配“包含'4'的任何cvs字符串作为字符串中的值”的方法是:

mycolumn regexp '[[:<:]]4[[:>:]]' 

在mysql正则表达式中,[[:<:]]表示“单词开头”,[[:>:]]表示“单词结束”。

答案 2 :(得分:0)

您可以使用:

where categories RLIKE '(^|,)4($|,)';

categories包含4,后跟,或任何内容,并且先于,或没有任何内容时,此匹配将匹配。