Не избегай этого.Вам просто нужны подстановочные знаки вокруг этого, например:
select count(*)
from escape_test
where test_column like '%\%'
Но, предположим, вам действительно нужно избежать косой черты.Вот более простой и простой ответ:
escape-выражение позволяет вам указать любой символ для экранирования, который вы пожелаете.Так зачем использовать персонажа, которого вы ищете, тем самым требуя от него избежать?Вместо этого используйте любой другой символ.Я буду использовать знак плюс в качестве примера, но это может быть обратная косая черта, знак решетки, вопросительный знак, что угодно, кроме искомого символа или одного из символов подстановки (% или _).
select count(*)
from escape_test
where test_column like '%\%' escape '+';
Теперь вам не нужно ничего добавлять в свой шаблон.
Чтобы придерживаться того же стандарта доказательств, который продемонстрировал @Michael -
create table escape_test
( test_column varchar(20) );
insert into escape_test
(test_column)
values ('foo\'),
('no slashes here'),
('foo\bar'),
('\bar');
select 'test1' trial, count(*) result
from escape_test
where test_column like '%\%'
UNION
select 'test2', count(*)
from escape_test
where test_column like '%\\%' escape '\'
UNION
select 'test3', count(*)
from escape_test
where test_column like '%\%' escape '+'
;
, который возвращает одинаковое количество строк для каждого метода:
TRIAL RESULT
----- ------
test1 3
test2 3
test3 3