Mysql 启用“无反斜杠”转义选项时,如何转义文字百分比符号?

Mysql 启用“无反斜杠”转义选项时,如何转义文字百分比符号?,mysql,escaping,special-characters,Mysql,Escaping,Special Characters,我的公司在无反斜杠转义模式下运行MySQL。在这种模式下,如何在LIKE查询中转义文字%或?标准方式是\%,但在这种模式下不起作用 示例:列具有以下值:5%折扣,50%折扣。以下查询在标准模式下工作,但不在无反斜杠转义模式下工作: SELECT * FROM mytable WHERE mycol LIKE '5\% off' 你需要逃跑 select * from mytable where mycol like '5\% off' escape '\'; 对于不考虑无反斜杠转义模式的版本

我的公司在无反斜杠转义模式下运行MySQL。在这种模式下,如何在LIKE查询中转义文字
%
?标准方式是
\%
,但在这种模式下不起作用

示例:列具有以下值:
5%折扣
50%折扣
。以下查询在标准模式下工作,但不在无反斜杠转义模式下工作:

SELECT * FROM mytable
WHERE mycol LIKE '5\% off'
你需要逃跑

select * from mytable
where mycol like '5\% off' escape '\';
对于不考虑无反斜杠转义模式的版本,可以使用不同的字符,如管道:

select * from mytable
where mycol like '5|% off' escape '|';

%%
可能会成功吗?@Marc nope,那是我第一次尝试。反斜杠周围需要有单引号,而不是双引号。哦,这是一样的,因为转义是在NO_BLACKSLASH中转义的_ESCAPES@ajreal你是说没有反斜杠转义吗?反斜杠也需要转义,我冒昧地更新了你的答案。@Benjamin实际上你的编辑引入了语法错误。这个问题特别是在无反斜杠转义模式下询问MySQL。在该模式下,反斜杠不是转义字符