使用REGEXP选择MySQL
我的mysql表中名为color的列中有以下值:1;2.3.11;十二,使用REGEXP选择MySQL,mysql,regex,Mysql,Regex,我的mysql表中名为color的列中有以下值:1;2.3.11;十二, 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的行。您可以尝试以下操作 REGEXP '^1;|;1;|;1$' 如果我没有错
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的行。您可以尝试以下操作
REGEXP '^1;|;1;|;1$'
如果我没有错的话,这将在开始处找到一个1,后面跟一个分号,或者在两个分号之间找到一个1,或者在一个分号后面找到一个1。应该就是这样了。您可以尝试以下方法
REGEXP '^1;|;1;|;1$'
如果我没有错的话,这将在开始处找到一个1,后面跟一个分号,或者在两个分号之间找到一个1,或者在一个分号后面找到一个1。应该就是这样。您需要将其隔离:
color REGEXP '[[:<:]]1[[:>:]]'
color REGEXP'[[::]]
您需要将其隔离:
color REGEXP '[[:<:]]1[[:>:]]'
color REGEXP'[[::]]
您的数据库违反了第一个标准表单。您正在一列(颜色)中保存多个值。请规范化你的数据库。我想这不是重点。你的数据库违反了第一个标准格式。您正在一列(颜色)中保存多个值。请规范化你的数据库。我想这不是重点。