Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用REGEXP选择MySQL_Mysql_Regex - Fatal编程技术网

使用REGEXP选择MySQL

使用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$' 如果我没有错

我的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$'

如果我没有错的话,这将在开始处找到一个1,后面跟一个分号,或者在两个分号之间找到一个1,或者在一个分号后面找到一个1。应该就是这样了。

您可以尝试以下方法

REGEXP '^1;|;1;|;1$'
如果我没有错的话,这将在开始处找到一个1,后面跟一个分号,或者在两个分号之间找到一个1,或者在一个分号后面找到一个1。应该就是这样。

您需要将其隔离:

color REGEXP '[[:<:]]1[[:>:]]'
color REGEXP'[[::]]
您需要将其隔离:

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

您的数据库违反了第一个标准表单。您正在一列(颜色)中保存多个值。请规范化你的数据库。我想这不是重点。你的数据库违反了第一个标准格式。您正在一列(颜色)中保存多个值。请规范化你的数据库。我想这不是重点。