Например, у меня есть таблица с именем test_table и столбец с именем column_A, который имеет значения:
A_1
A_2
A_3
A1
A2
A3
B_1
B_2
B_3
B1
B2
B3
Если я хочу выбрать все данные с A_
в начале, я могу использовать escape \
, например:
select * from test_table where column_A like 'A\_*' escape '\';
так что _
не обрабатывается как односимвольный подстановочный знак. я могу получить A_1, A_2 и A_3.
Что делать, если я хочу использовать это в Между и оператором? как
select * from test_table where column_A between 'A_\*' and 'B_\*'
Я попробовал вышеуказанный, он не ускользнул от _
. если я добавлю escape сразу после условия вроде
select * from test_table
where column_A between 'A_\*' escape '\' and 'B_\*' escape '\'
or
select * from test_table
where column_A between 'A_\*' and 'B_\*' escape '\'
у меня синтаксическая ошибка.
BETWEEN
не используются, поэтому их не нужно экранировать. Что вы ожидаете от своего запроса, действительно не ясно. - person Vincent Malgrat   schedule 08.02.2012