MySQL使用REGEXP选择

时间:2011-08-10 07:25:16

标签: mysql regex

我的mysql表列中有以下值,名为color:1; 2; 3; 11; 12

id | color
1  | 1;2
2  | 2;11
3  | 1;3
4  | 12

我想使用REGEXP只选择表中颜色为1的那些行。

当我使用简单表达

color REGEXP '1'

它还选择值为11或12的行,而我只查找值为1的行。因此,当我使用上面的表达式时,它会向我显示所有4行,如上例所示,因为我希望它只显示id为1和3的行。

2 个答案:

答案 0 :(得分:1)

您需要to use word-delimiters on either side of the 1来隔离它:

color REGEXP '[[:<:]]1[[:>:]]'

答案 1 :(得分:0)

您可以尝试类似

的内容
REGEXP '^1;|;1;|;1$'

如果我没有错,这将在开始时找到1,然后是分号,或者在两个semicola之间找到1,或者在分号后找到1。这应该是它。