Как мне избежать подстановочных знаков (_
и %
) при использовании оператора SQL LIKE
в Oracle?
Я пришел к глупой проблеме сегодня. Мне нужно найти наличие подчеркивания _
в столбце varchar, используя LIKE
. Это не работает - как и ожидалось - так как подчеркивания являются подстановочными знаками согласно SQL Вот мой (упрощенный) код:
create table property (
name varchar(20),
value varchar(50)
);
insert into property (name, value) values ('port', '8120');
insert into property (name, value) values ('max_width', '90');
insert into property (name, value) values ('taxrate%', '5.20');
Я попробовал следующие запросы в PostgreSQL, и они возвращают нужные мне строки:
select * from property where name like '%\_%'; -- should return: max_width
select * from property where name like '%\%%'; -- should return: taxrate%
К сожалению, это не работает в Oracle 12c. Есть ли «стандартный» способ избежать подстановочных знаков? Или хотя бы то, что работает в Oracle?