我的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的行。
答案 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。这应该是它。