一尘不染

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

mysql

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

示例:一列具有以下值:5% off50% off。以下查询在标准模式下有效,但在NO_BACKSLASH_ESCAPES模式下无效:

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

阅读 483

收藏
2020-05-17

共1个答案

一尘不染

你需要逃脱

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

对于无论NO_BACKSLASH_ESCAPES模式如何均可运行的版本,可以使用其他字符,例如管道:

select * from mytable
where mycol like '5|% off' escape '|';
2020-05-17