PostgreSQL Нравится, Не нравится, Подстановочные знаки (%, _) Примеры


Команда PostgreSQL Оператор LIKE помогает нам сопоставлять текстовые значения с шаблонами, используя подстановочные знаки. Выражение поиска можно сопоставить с выражением шаблона.

Если совпадение обнаружено, оператор LIKE возвращает true. С помощью оператора LIKE можно использовать подстановочные знаки в предложении WHERE операторов SELECT, UPDATE, INSERT или DELETE.

Дикие карты

Есть только два подстановочных знака, которые можно использовать вместе с

  • Знак процента (%)
  • Нижнее подчеркивание (_)

Знак процента (%) используется для обозначения нуля, одного или нескольких символов или цифр.

Подстановочный знак подчеркивания (_) используется для обозначения одного символа или числа. Эти символы также можно комбинировать. Если оператор LIKE не используется вместе с этими двумя знаками, он будет действовать как оператор равенства.

Синтаксис

Вот синтаксис оператора LIKE:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Выражение представляет собой символьное выражение, такое как столбец или поле.

Шаблон представляет собой символьное выражение с сопоставлением с образцом.

escape-символ является необязательным параметром. Он позволяет тестировать буквальные экземпляры подстановочных знаков, таких как % и _. Если он не указан, в качестве escape-символа будет использоваться \.

Использование подстановочного знака %

Как мы уже говорили ранее, знак % соответствует нулю, одному или нескольким символам или цифрам. Рассмотрим следующую таблицу:

Книга:

Использование подстановочного знака %

Мы хотим, чтобы книга с названием типа «Lear…» получила этот результат, мы можем запустить следующую команду:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Это вернет следующее:

Использование подстановочного знака %

Книга нашлась.

Поищем книгу «автор» по ее названию:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Это вернет следующее:

Использование подстановочного знака %

Использование подстановочного знака _

Как мы говорили ранее, знак _ представляет один символ или число. Его можно использовать, как показано ниже:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Это возвращает следующее:

Использование подстановочного знака _

Вот еще один пример:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

Это возвращает следующее:

Использование подстановочного знака _

Использование НЕ Operaтор

Когда оператор LIKE сочетается с оператором NOT, возвращается любая строка, не соответствующая шаблону поиска. Например, чтобы увидеть книгу, название которой не начинается с «post», мы можем запустить следующую команду:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

Это возвращает следующее:

Использование НЕ Operaтор

Условию поиска соответствовала только одна книга. Посмотрим список названий книг, в которых нет слова «Сделано»:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

Это возвращает следующее:

Использование НЕ Operaтор

Условию поиска соответствовали 3 строки.

Использование pgAdmin

Теперь посмотрим, как действия можно выполнить с помощью pgAdmin.

Использование подстановочного знака %

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Использование pgAdmin с подстановочным знаком %

Шаг 3) Введите запрос в редакторе запросов:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Шаг 4) Нажмите кнопку «Выполнить».

Использование pgAdmin с подстановочным знаком %

Он должен вернуть следующее:

Использование pgAdmin с подстановочным знаком %

Чтобы найти книгу «автор» по ее названию:

Шаг 1) Введите следующую команду в редакторе запросов:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Шаг 2) Нажмите кнопку «Выполнить».

Использование pgAdmin с подстановочным знаком %

Он должен вернуть следующее:

Использование pgAdmin с подстановочным знаком %

Использование подстановочного знака _

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Использование pgAdmin с подстановочным знаком _

Шаг 3) Введите запрос в редакторе запросов:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Шаг 4) Нажмите кнопку «Выполнить».

Использование pgAdmin с подстановочным знаком _

Он должен вернуть следующее:

Использование pgAdmin с подстановочным знаком _

Шаг 5) Чтобы запустить второй пример:

  1. Введите следующий запрос в редакторе запросов:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Нажмите кнопку «Выполнить».

Использование pgAdmin с подстановочным знаком _

Он должен вернуть следующее:

Использование pgAdmin с подстановочным знаком _

Использование НЕ Operaтор

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Использование НЕ OperaТор в pgAdmin

Шаг 3) Чтобы просмотреть все книги, названия которых не начинаются с «Пост», введите запрос в редакторе запросов:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

Шаг 4) Нажмите кнопку «Выполнить».

Использование НЕ OperaТор в pgAdmin

Он должен вернуть следующее:

Использование НЕ OperaТор в pgAdmin

Использование НЕ OperaТор в pgAdmin

Чтобы увидеть список книг, в названиях которых нет слова «Сделано»:

Шаг 1) Введите следующий запрос в редакторе запросов:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

Шаг 2) Нажмите кнопку «Выполнить».

Использование НЕ OperaТор в pgAdmin

Он должен вернуть следующее:

Использование НЕ OperaТор в pgAdmin

Резюме

  • Команда PostgreSQL LIKE используется для сопоставления текстовых значений с шаблонами с использованием подстановочных знаков.
  • Предложение LIKE позволяет нам использовать подстановочные знаки в ВЫБОРОператоры , UPDATE, INSERT или DELETE.
  • Подстановочный знак % соответствует одному или нескольким значениям. Значения могут быть числами или символами.
  • Подстановочный знак _ соответствует ровно одному значению. Значение может быть символом или числом.
  • Оператор LIKE можно комбинировать с оператором NOT для возврата любой строки, не соответствующей шаблону поиска.

Загрузите базу данных, используемую в этом руководстве.

Читать прочитайте больше