Oracle LIKE

Oracle Like



В Oracle и други релационни бази данни съпоставянето на шаблони е популярна функция, която ви позволява да търсите низови модели, като използвате специален синтаксис. Например, можете да търсите подниз в голям набор от низове, като използвате оператори и функции за съвпадение на шаблони.

Това го прави много полезен за изграждане на прости клаузи за търсене, без да налага значителни наказания за производителността на базата данни.







В този урок ще срещнете оператора LIKE в Oracle за извършване на заявки за съпоставяне на шаблони.



Оператор LIKE на Oracle

Операторът LIKE в Oracle ви позволява да търсите конкретен модел в дадена колона. Например, можете да го използвате, за да намерите всички редове, където първото име на клиент започва с модела „Ja“.



Често ще откриете, че този оператор се използва във връзка с други SQL клаузи, като клаузата WHERE, за филтриране на нашите резултати въз основа на конкретен модел.





Можем да изразим синтаксиса на оператора LIKE в SQL, както е показано по-долу:

израз КАТО модел [ БЯГСТВО 'escape_character' ]



  1. Параметърът на израза указва колоната, в която искате да търсите.
  2. Параметърът на шаблона определя конкретния шаблон, който искате да търсите. Посоченият модел може да съдържа заместващи знаци като % и _, за да съответства съответно на произволен брой знаци или единичен знак.
  3. Можем също да включим клаузата ESCAPE, за да посочим екраниращ знак, използван за търсене на действителните заместващи знаци.

Примери за оператор LIKE на Oracle

Следните примери демонстрират как да използвате оператора LIKE в таблица на Oracle.

Да предположим, че имаме таблица, съдържаща информация за клиента, както е показано по-долу:

Пример 1 – Използване на % заместващи символи

Можем да използваме символите за заместване %, за да съответстваме на всички низове от нула или повече знаци. Например, можем да намерим всички записи в таблица, съдържаща името „Will%“.

Вземете таблицата на служителите, показана по-долу:

изберете име, фамилия, заплата
от СЛУЖИТЕЛИ
където FIRST_NAME харесва 'Ще%'
подреждане по first_name;

Предишната заявка избира колоните first_name, last_name и salary от таблицата на служителите и подрежда получените стойности по колоната first_name.

Също така комбинираме клауза where във връзка с оператор LIKE със заместващи знаци %, за да извлечем само редовете, където първото име започва с „Will“.

Това трябва да върне редовете като:

Можем също да използваме заместващия знак %, за да извлечем редовете, които завършват с определен шаблон.

По-долу е показан пример:

изберете име, фамилия, заплата
от СЛУЖИТЕЛИ
където FIRST_NAME харесва '% е'
подреждане по first_name;

В този случай предишната заявка трябва да върне всички редове, където първото име завършва на „er“. Примерна получена стойност е показана по-долу:

Операторът LIKE на базата данни на Oracle е чувствителен към малки и големи букви по подразбиране, така че е важно да имате това предвид, докато търсите конкретни модели. Можете да използвате други функции, като например ниска и горна, за да отмените това поведение.

Пример 2 – Използване на Escape клаузата

Следният пример демонстрира как да използвате клаузата ESCAPE в оператора LIKE на Oracle:

изберете собствено_име, фамилия, заплата, комисионна_процент
от СЛУЖИТЕЛИ
където Commission_pct като 'двайсет\%' бягство '\' ;

Предишната заявка избира колоните first_name, last_name, salary и Commission_pct от таблицата EMPLOYEES. Клаузата WHERE използва оператора LIKE с клаузата ESCAPE, за да извлече записите, където колоната Commission_pct съдържа низа „20%“ (с буквален знак %, а не заместващ знак).

В този случай ние избягваме знака % с обратна наклонена черта (\), когато търсим низа 20%. Това позволява на оператора LIKE да търси точния низ „20%“, вместо да третира знака % като заместващ знак.

Тази заявка ще върне всички редове от таблицата EMPLOYEES, където колоната Commission_pct съдържа точния низ „20%“, заедно с first_name, last_name и колоните за заплата за тези редове.

Заключение

В тази публикация научихте как да използвате оператора LIKE в бази данни на Oracle, за да търсите конкретни модели в таблица. Предоставени са няколко примера за подчертаване с помощта на заместващи символи и клаузата ESCAPE.