Oracle. Оператор LIKE. Escape character.

LIKE — простой условной оператор для сравнения по маске.  С двумя символами:

% — всё что угодно

_ — один символ

Я всё время считал, что escape character в Oracle это тот же процент (%). До тех пор пока не пришлось искать в строках этот процент и подчеркивание. После первого же запроса понял, что одновременно интерпретировать один символ как «всё что угодно» и escape symbol как-то несподручно.

select * from something where like field like ‘%%%%’;

Бесмысленный запрос получается, с escape — тем более :)

select * from something where like field like ‘%%%%’ escape ‘%’;

Это эквивалент field = ‘%%’

Но вот не пойму, им что, было сложно сделать back-slash escape символом :(, что бы не писать каждый раз escape ‘\’

Tags: