PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Приклади
⚡ Розумний підсумок
PostgreSQL LIKE зіставляє текст зі шаблонами, використовуючи два символи підстановки — знак відсотка та символ підкреслення. У цьому посібнику показано, як використовувати LIKE та NOT LIKE в операторах SELECT, з прикладами роботи з psql та pgAdmin для кожного випадку.

Команда PostgreSQL LIKE Оператор зіставляє текстові значення зі шаблонами за допомогою підстановочних символів. Якщо пошуковий вираз відповідає шаблону, LIKE повертає true. Підстановки працюють у WHERE пункт SELECT, UPDATE, INSERTабо DELETE.
Які PostgreSQL Символи підстановки?
PostgreSQL підтримує два символи підстановки LIKE:
- Знак відсотка (
%): збігається з нулем, одним або багатьма символами чи цифрами. - Підкреслення (
_): збігається рівно з одним символом або цифрою.
Ці два символи можна комбінувати в одному шаблоні. Якщо LIKE використовується без будь-якого з підстановочних символів, він поводиться як символ рівності (=) оператор.
PostgreSQL Синтаксис LIKE
Основний синтаксис LIKE такий:
expression LIKE pattern [ ESCAPE 'escape-character' ]
- вираз — символьний вираз, зазвичай ім'я стовпця або поля.
- модель — символьний вираз, що містить символи підстановки.
- escape-символ — необов'язково. Дозволяє знайти літерал
%or_символи. Якщо пропустити, зворотна коса риска (\) – це керуючий символ за замовчуванням.
PostgreSQL ЛАЙК з підстановочним символом %
Команда % знак відповідає нулю, одному або кільком символам. Розглянемо наступне Book стіл:
Щоб знайти книги, назва яких починається на «Лір», виконайте запит нижче.
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Запит повертає:
Щоб знайти книги, назва яких містить слово «by» будь-де:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Запит повертає:
PostgreSQL ЛАЙК із символом _
Команда _ Знак відповідає лише одному символу. Наступний запит знаходить імена, де перший символ — це будь-яка окрема літера, за якою йде «earn» і потім будь-який суфікс:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Запит повертає:
Інший приклад — знайти будь-який текст, який закінчується на «Початківець» плюс ще один символ:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
Запит повертає:
PostgreSQL НЕ ПОДОБАЄТЬСЯ Operaтор
Поєднайте LIKE з NOT, щоб повернути рядки, які відповідають НЕ зіставте за шаблоном. Наприклад, перелічіть усі книги, назва яких не починається з «Post»:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Запит повертає:
Лише одна книга задовольняє умову. Тепер перелічіть усі книги, назва яких відповідає НЕ містити слово «Зроблено»:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Запит повертає:
Три рядки задовольняють умову.
Використання LIKE з pgAdmin
Ці ж запити також можна виконувати графічно в інструменті запитів pgAdmin.
% Wildcard у pgAdmin
Крок 1) Увійдіть до pgAdmin.
Крок 2) На панелі навігації ліворуч натисніть Бази даних, потім натисніть кнопку Демонстрація.
Крок 3) Введіть запит у редакторі запитів:
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Крок 4) Натисніть Виконати.
На панелі результатів відображаються відповідні книги:
Щоб знайти книгу, у назві якої є слово «by»:
Крок 1) Введіть наступне в редакторі запитів:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Крок 2) Натисніть Виконати.
У панелі результатів відображається:
_ Підстановка в pgAdmin
Крок 1) Увійдіть до pgAdmin.
Крок 2) На панелі навігації ліворуч натисніть Бази даних, потім натисніть кнопку Демонстрація.
Крок 3) Введіть запит у редакторі запитів:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Крок 4) Натисніть Виконати.
У панелі результатів відображається:
Крок 5) Виконайте другий приклад:
- Введіть запит у редакторі запитів:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
- Натисніть Виконати.
У панелі результатів відображається:
НЕ ПОДАЄТЬСЯ в pgAdmin
Крок 1) Увійдіть до pgAdmin.
Крок 2) На панелі навігації ліворуч натисніть Бази даних, потім натисніть кнопку Демонстрація.
Крок 3) Щоб отримати список усіх книг, назва яких не починається з «Post», введіть:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Крок 4) Натисніть Виконати.
У панелі результатів відображається:
Щоб перерахувати книги, назва яких не містить слова «Зроблено»:
Крок 1) Введіть наступне в редакторі запитів:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Крок 2) Натисніть Виконати.
У панелі результатів відображається:
Завантажте базу даних, яка використовується в цьому посібнику.























