Например, у меня есть имя таблицы test_table и имеет столбец с именем column_A, который имеет значения:избежать подстановочные между ними и оператором
A_1
A_2
A_3
A1
A2
A3
B_1
B_2
B_3
B1
B2
B3
Если я хочу, чтобы выбрать все данные A_
как начало, я можно использовать побег \
как:
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_\*'
Я пробовал вышеуказанный, он не избежал _
. если добавить право бежать после того, как условие
select * from test_table
where column_A between 'A_\*' escape '\' and 'B_\*' escape '\'
или
select * from test_table
where column_A between 'A_\*' and 'B_\*' escape '\'
я получил ошибку синтаксиса.
На самом деле нет смысла избегать символов с операторами сравнения, потому что эти операторы не рассматривают ЛЮБОЙ характер как специальный. Нет символов подстановочных знаков с 'BETWEEN', поэтому не нужно их избегать. Что вы ожидаете, что ваш запрос вернется, это действительно не ясно. –