我有一个使用正则表达式的简单查询。我不知道为什么每次尝试运行它时都会返回错误。
select *
from mytable
where thumbnail_url regexp '^\?.+'
Run Code Online (Sandbox Code Playgroud)
基本上,我想查看此列表中是否有任何字符串以问号开头。我通过 MySQLWorkbench 6.3 连接到 Amazon RDS。
当您在 MySQL 中使用反斜杠转义正则表达式字符时,您还必须将反斜杠本身转义为\\. MySQL 会看到单个\字符并尝试将其用作 SQL 语句本身中的转义字符,而不是将其视为文字。但是您需要它作为文字来修改?正则表达式中的 。
第一个\转义第二个\,产生一个文字正则表达式序列\?来表示?匹配字符串中的单个文字。
使用转义的反斜杠将表达式格式化为:
select *
from mytable
where thumbnail_url regexp '^\\?.+'
Run Code Online (Sandbox Code Playgroud)