Как избежать символа буквенного процента, когда включена опция NO_BACKSLASH_ESCAPES?
Моя компания запускает MySQL в режиме NO_BACKSLASH_ESCAPES. Как я могу избежать литерала %
или _
в запросе LIKE в этом режиме? Стандартный способ - \%
, но это не работает в этом режиме.
Пример: столбец имеет следующие значения: 5% off
, 50% off
. Следующий запрос работает в стандартном режиме, но не в режиме NO_BACKSLASH_ESCAPES:
SELECT * FROM mytable
WHERE mycol LIKE '5\% off'
Ответы
Ответ 1
вам нужно бежать
select * from mytable
where mycol like '5\% off' escape '\';
Для версии, которая работает независимо от режима NO_BACKSLASH_ESCAPES, вы можете использовать другой символ, например pipe:
select * from mytable
where mycol like '5|% off' escape '|';