如何启用NO_BACKSLASH_ESCAPES选项时转义字面百分号?
我的公司以NO_BACKSLASH_ESCAPES模式运行MySQL。 如何在这种模式下在LIKE查询中转义字面值%
或_
? 标准的方法是\%
,但在这种模式下不起作用。
例如:一列有以下值: 5% off
, 50% 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 '|';