Оператор PostgreSQL LIKE допомагає нам узгоджувати текстові значення із шаблонами за допомогою символів підстановки. Можна порівняти вираз пошуку з виразом шаблону.
Якщо відбувається збіг, оператор LIKE повертає true. За допомогою оператора LIKE можна використовувати символи підстановки в реченні WHERE операторів SELECT, UPDATE, INSERT або DELETE.
У цьому посібнику PostgreSQL ви дізнаєтесь таке:
- Wild карти
- Синтаксис
- Використання% підстановки
- Використання символу _ підстановки
- Використання оператора NOT
- Використання pgAdmin
Wild карти
Є лише два символи підстановки, якими можна скористатися
- Знак відсотків (%)
- Підкреслення (_)
Знак відсотка (%) використовується для представлення нуля, одного або багатьох символів або цифр.
Символ підкреслення (_) використовується для позначення одного символу або числа. Ці символи також можна поєднувати. Якщо оператор LIKE не використовується разом із цими двома знаками, він діятиме як оператор рівності.
Синтаксис
Ось синтаксис оператора LIKE:
expression LIKE pattern [ ESCAPE 'escape-character' ]
Вираз є символьним виразом, як стовпець або поле.
Шаблон - це вираз символів із зіставленням зразків.
Символ втечі - необов’язковий параметр. Це дозволяє тестувати буквальні екземпляри символів підстановки, таких як% та _. Якщо це не вказано, \ буде використано як символ втечі.
Використання% підстановки
Як ми вже заявляли раніше, знак% відповідає нулю, одному або кільком символам або цифрам. Розглянемо наступну таблицю:
Книга:
Ми хочемо книгу, назва якої схожа на "Лір
... ", щоб отримати такий результат, ми можемо виконати таку команду:SELECT *FROMBookWHEREname LIKE 'Lear%';
Це поверне наступне:
Книгу знайшли.
Шукаємо книгу "за" в її назві:
SELECT *FROMBookWHEREname LIKE '%by%';
Це поверне наступне:
Використання символу _ підстановки
Як ми вже говорили раніше, знак _ являє собою один символ або число. Його можна використовувати, як показано нижче:
SELECT *FROMBookWHEREname LIKE '_earn%';
Це повертає наступне:
Ось ще один приклад:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
Це повертає наступне:
Використання оператора NOT
Коли оператор LIKE поєднується з оператором NOT, повертається будь-який рядок, який не відповідає шаблону пошуку. Наприклад, щоб побачити книгу, назва якої не починається на "post", ми можемо виконати таку команду:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Це повертає наступне:
Тільки одна книга відповідала умові пошуку. Давайте подивимося список назв книг, у яких немає слова "Зроблено":
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Це повертає наступне:
3 рядки відповідали умові пошуку.
Використання pgAdmin
Тепер давайте подивимося, як дії можна виконувати за допомогою pgAdmin.
Використання% підстановки
Крок 1) Увійдіть до свого облікового запису pgAdmin.
Крок 2)
- На панелі навігації ліворуч клацніть Бази даних.
- Клацніть Демо.
Крок 3) Введіть запит у редакторі запитів:
SELECT *FROMBookWHEREname LIKE 'Lear%';
Крок 4) Натисніть кнопку Виконати.
Він повинен повернути наступне:
Щоб знайти книгу "за" в її назві:
Крок 1) Введіть таку команду в редакторі запитів:
SELECT *FROMBookWHEREname LIKE '%by%';
Крок 2) Натисніть кнопку Виконати.
Він повинен повернути наступне:
Використання символу _ підстановки
Крок 1) Увійдіть до свого облікового запису pgAdmin.
Крок 2)
- На панелі навігації ліворуч клацніть Бази даних.
- Клацніть Демо.
Крок 3) Введіть запит у редакторі запитів:
SELECT *FROMBookWHEREname LIKE '_earn%';
Крок 4) Натисніть кнопку Виконати.
Він повинен повернути наступне:
Крок 5) Щоб запустити другий приклад:
- Введіть такий запит у редакторі запитів:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
- Натисніть кнопку Виконати.
Він повинен повернути наступне:
Використання оператора NOT
Крок 1) Увійдіть до свого облікового запису pgAdmin.
Крок 2)
- На панелі навігації ліворуч клацніть Бази даних.
- Клацніть Демо.
Крок 3) Щоб переглянути всі книги, назви яких не починаються на "Опублікувати", введіть запит у редакторі запитів:
SELECT *FROMBookWHEREname NOT LIKE 'Post%';
Крок 4) Натисніть кнопку Виконати.
Він повинен повернути наступне:
Щоб переглянути список книг, в іменах яких немає слова "Зроблено":
Крок 1) Введіть такий запит у редакторі запитів:
SELECT *FROMBookWHEREname NOT LIKE '%Made%';
Крок 2) Натисніть кнопку Виконати.
Він повинен повернути наступне:
Короткий зміст:
- PostgreSQL LIKE використовується для зіставлення текстових значень із шаблонами за допомогою символів підстановки.
- Речення LIKE дозволяє нам використовувати символи підстановки в операторах SELECT, UPDATE, INSERT або DELETE.
- Підстановка% відповідає одному або декільком значенням. Значення можуть бути цифрами або символами.
- Підстановочний знак _ відповідає рівно одному значенню. Значенням може бути символ або число.
- Оператор LIKE можна поєднати з оператором NOT, щоб повернути будь-який рядок, який не відповідає шаблону пошуку.
Завантажте базу даних, що використовується у цьому посібнику