启用NO_BACKSLASH_ESCAPES选项时如何逃避文字百分号?

时间:2011-02-16 17:51:43

标签: mysql escaping special-characters

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

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

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

1 个答案:

答案 0 :(得分:56)

你需要逃避

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

对于无论NO_BACKSLASH_ESCAPES模式如何工作的版本,您都可以使用其他字符,例如pipe:

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