如何启用NO_BACKSLASH_ESCAPES选项时转义字面百分号?

我的公司以NO_BACKSLASH_ESCAPES模式运行MySQL。 如何在这种模式下在LIKE查询中转义字面值%_ ? 标准的方法是\% ,但在这种模式下不起作用。

例如:一列有以下值: 5% off50% off 。 以下查询在标准模式下工作,但不在NO_BACKSLASH_ESCAPES模式下工作:

 SELECT * FROM mytable WHERE mycol LIKE '5\% off' 

你需要逃脱

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

对于不pipeNO_BACKSLASH_ESCAPES模式工作的版本,您可以使用不同的字符,如pipe道:

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