Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
Mysql SQL查询正则表达式中的转义百分比登录?_Mysql_Sql_Regex - Fatal编程技术网

Mysql SQL查询正则表达式中的转义百分比登录?

Mysql SQL查询正则表达式中的转义百分比登录?,mysql,sql,regex,Mysql,Sql,Regex,此查询可用于: SELECT * FROM table WHERE column REGEXP "[[:<:]]100[[:>:]]" 从列REGEXP“[[::]”所在的表中选择* 但事实并非如此。它不返回任何内容,但我的表上有一个值“100%” SELECT * FROM table WHERE column REGEXP "[[:<:]]100%[[:>:]]" 从列REGEXP“[[::]”所在的表中选择* 如何使用百分比信号进行查询?据我所知,%在正则

此查询可用于:

SELECT * FROM table WHERE column REGEXP "[[:<:]]100[[:>:]]" 
从列REGEXP“[[::]”所在的表中选择*
但事实并非如此。它不返回任何内容,但我的表上有一个值“100%”

SELECT * FROM table WHERE column REGEXP "[[:<:]]100%[[:>:]]"
从列REGEXP“[[::]”所在的表中选择*

如何使用百分比信号进行查询?

据我所知,
%
在正则表达式中不是特殊字符

您应该能够直接启动:

SELECT * FROM table WHERE column REGEXP '[[:<:]]100%[[:>:]]'
从列REGEXP'[[::]]所在的表中选择*

视情况而定。您必须将字符类
[[[::>::]]
更改为符合您需要的其他字符,因为百分号不是单词字符,请参见:

[::]]

这些标记代表单词的边界。它们匹配开头和结尾 分别是单词的结尾。单词是一系列单词字符 前面或后面没有单词字符的一个词 字符是alnum类中的字母数字字符或 下划线(41;

如果后跟空格、标点符号或字符串结尾,则可以使用

SELECT * FROM example WHERE content REGEXP '[[:<:]]100%([[:blank:]]|[[:punct:]]|$)';

SELECT*来自content REGEXP'[[:使用反斜杠。请参阅:
\%
当您是REGEX新手时,会发生这种情况。谢谢!