开发者

How to escape literal percent sign when NO_BACKSLASH_ESCAPES option is enabled?

开发者 https://www.devze.com 2023-02-10 17:22 出处:网络
My company runs MySQL in NO_BACKSLASH开发者_如何学运维_ESCAPES mode. How can I escape a literal % or _ in a LIKE query in this mode? The standard way is \\%, but that doesn\'t work in this mode.

My company runs MySQL in NO_BACKSLASH开发者_如何学运维_ESCAPES mode. How can I escape a literal % or _ in a LIKE query in this mode? The standard way is \%, but that doesn't work in this mode.

Example: a column has the following values: 5% off, 50% off. The following query works in standard mode but not in NO_BACKSLASH_ESCAPES mode:

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


you need escape

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

For a version that works regardless of NO_BACKSLASH_ESCAPES mode, you can use a different character, like pipe:

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

精彩评论

暂无评论...
验证码 换一张
取 消