Oracle НРАВИТСЯ

Oracle Nravitsa



В Oracle и других реляционных базах данных сопоставление с образцом — это популярная функция, позволяющая искать образцы строк с использованием специального синтаксиса. Например, вы можете искать подстроку в большом наборе строк, используя операторы и функции сопоставления с образцом.

Это делает его очень полезным для создания простых предложений поиска без значительных потерь производительности в базе данных.







В этом руководстве вы познакомитесь с оператором LIKE в Oracle для выполнения запросов на сопоставление с образцом.



Оператор Oracle LIKE

Оператор LIKE в Oracle позволяет искать определенный шаблон в заданном столбце. Например, вы можете использовать его, чтобы найти все строки, в которых имя клиента начинается с шаблона «Ja».



Вы часто обнаружите, что этот оператор используется в сочетании с другими предложениями SQL, такими как предложение WHERE, для фильтрации наших результатов на основе определенного шаблона.





Мы можем выразить синтаксис оператора LIKE в SQL, как показано ниже:

выражение LIKE шаблон [ ПОБЕГ 'escape_character' ]



  1. Параметр выражения указывает столбец, в котором вы хотите выполнить поиск.
  2. Параметр шаблона определяет конкретный шаблон, который вы хотите найти. Указанный шаблон может содержать подстановочные знаки, такие как % и _, чтобы соответствовать любому количеству символов или одному символу соответственно.
  3. Мы также можем включить предложение ESCAPE, чтобы указать escape-символ, используемый для поиска фактических символов подстановки.

Примеры операторов Oracle LIKE

В следующих примерах показано, как использовать оператор LIKE в таблице Oracle.

Предположим, у нас есть таблица, содержащая информацию о клиентах, как показано ниже:

Пример 1. Использование подстановочных знаков %

Мы можем использовать подстановочные знаки % для соответствия любой строке из нуля или более символов. Например, мы можем найти все записи в таблице, содержащей имя «Will%».

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

Выбрать имя_имя, фамилия_имя, зарплата
от СОТРУДНИКОВ
где FIRST_NAME нравится 'Воля%'
порядок по first_name;

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

Мы также комбинируем предложение where в сочетании с оператором LIKE с подстановочными знаками %, чтобы извлекать только те строки, где имя начинается с «Will».

Это должно вернуть строки как:

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

Пример показан ниже:

Выбрать имя_имя, фамилия_имя, зарплата
от СОТРУДНИКОВ
где FIRST_NAME нравится '%является'
порядок по first_name;

В этом случае предыдущий запрос должен вернуть все строки, в которых имя заканчивается на «er». Пример результирующего значения показан ниже:

Оператор LIKE базы данных Oracle по умолчанию чувствителен к регистру, поэтому важно помнить об этом при поиске определенных шаблонов. Вы можете использовать другие функции, такие как нижний и верхний, чтобы свести на нет это поведение.

Пример 2 – Использование предложения Escape

В следующем примере показано, как использовать предложение ESCAPE в операторе Oracle LIKE:

Выбрать имя_имя, фамилия_имя, зарплата, комиссия_процент
от СОТРУДНИКОВ
где Commission_pct нравится 'двадцать\%' побег '\' ;

Предыдущий запрос выбирает столбцы first_name, last_name, зарплата и Commission_pct из таблицы EMPLOYEES. Предложение WHERE использует оператор LIKE с предложением ESCAPE для выборки записей, в которых столбец Commission_pct содержит строку «20%» (с буквальным символом %, а не подстановочным знаком).

В этом случае мы экранируем символ % с помощью символа обратной косой черты (\) при поиске строки 20%. Это позволяет оператору LIKE искать точную строку «20%» вместо того, чтобы рассматривать символ % как подстановочный знак.

Этот запрос вернет все строки из таблицы EMPLOYEES, где столбец Commission_pct содержит точную строку «20%», а также столбцы first_name, last_name и зарплата для этих строк.

Заключение

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