我的公司在NO_BACKSLASH_ESCAPES模式下运行MySQL。如何在此模式下在LIKE查询中转义文字%
或_
?标准方式是\%
,但这在此模式下不起作用。
示例:列具有以下值:5% off
,50% off
。以下查询在标准模式下工作,但在NO_BACKSLASH_ESCAPES模式下不起作用:
SELECT * FROM mytable
WHERE mycol LIKE '5\% off'
答案 0 :(得分:56)
你需要逃避
select * from mytable
where mycol like '5\% off' escape '\';
对于无论NO_BACKSLASH_ESCAPES模式如何工作的版本,您都可以使用其他字符,例如pipe:
select * from mytable
where mycol like '5|% off' escape '|';