Оператор PostgreSQL LIKE помогает нам сопоставлять текстовые значения с шаблонами, используя подстановочные знаки. Можно сопоставить поисковое выражение с выражением шаблона.
Если совпадение происходит, оператор LIKE возвращает true. С помощью оператора LIKE можно использовать подстановочные знаки в предложении WHERE операторов SELECT, UPDATE, INSERT или DELETE.
В этом руководстве по PostgreSQL вы узнаете следующее:
- Дикие карты
- Синтаксис
- Использование подстановочного знака%
- Используя _ подстановочный знак
- Использование оператора NOT
- Использование pgAdmin
Дикие карты
Есть только два подстановочных знака, которые можно использовать вместе с
- Знак процента (%)
- Подчеркивать (_)
Знак процента (%) используется для обозначения нуля, одного или нескольких символов или цифр.
Подстановочный знак (_) используется для обозначения одного символа или числа. Эти символы также могут быть объединены. Если оператор LIKE не используется вместе с этими двумя знаками, он будет действовать как оператор равенства.
Синтаксис
Вот синтаксис для оператора LIKE:
expression LIKE pattern [ ESCAPE 'escape-character' ]
Выражение является символьным выражением, таким как столбец или поле.
Шаблон представляет собой символьное выражение с сопоставлением с шаблоном.
Экранирующий символ является необязательным параметром. Это позволяет тестировать литеральные символы подстановки, такие как% и _. Если он не указан, \ будет использоваться в качестве 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_';
Это возвращает следующее:
Использование оператора NOT
Когда оператор LIKE объединяется с оператором NOT, возвращается любая строка, которая не соответствует шаблону поиска. Например, чтобы увидеть книгу, название которой не начинается с «post», мы можем запустить следующую команду:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Это возвращает следующее:
Только одна книга соответствует условиям поиска. Давайте посмотрим на список названий книг, у которых нет слова «Сделано»:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Это возвращает следующее:
3 строки встретили условие поиска.
Использование pgAdmin
Теперь давайте посмотрим, как действия могут быть выполнены с помощью pgAdmin.
Использование подстановочного знака%
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2)
- На панели навигации слева нажмите Базы данных.
- Нажмите Демо.
Шаг 3) Введите запрос в редакторе запросов:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Чтобы найти книгу «по» по ее названию:
Шаг 1) Введите следующую команду в редакторе запросов:
SELECT * FROM Book WHERE name LIKE '%by%';
Шаг 2) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Используя _ подстановочный знак
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2)
- На панели навигации слева нажмите Базы данных.
- Нажмите Демо.
Шаг 3) Введите запрос в редакторе запросов:
SELECT * FROM Book WHERE name LIKE '_earn%';
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Шаг 5) Для запуска второго примера:
- Введите следующий запрос в редакторе запросов:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Нажмите кнопку Выполнить.
Он должен вернуть следующее:
Использование оператора NOT
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2)
- На панели навигации слева нажмите Базы данных.
- Нажмите Демо.
Шаг 3) Чтобы увидеть все книги, названия которых не начинаются с «Опубликовать», введите запрос в редакторе запросов:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Чтобы увидеть список книг, в названиях которых нет слова «Сделано»:
Шаг 1) Введите следующий запрос в редакторе запросов:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Шаг 2) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Резюме:
- PostgreSQL LIKE используется для сопоставления текстовых значений с шаблонами с использованием подстановочных знаков.
- Предложение LIKE позволяет нам использовать подстановочные знаки в инструкциях SELECT, UPDATE, INSERT или DELETE.
- Подстановочный знак% соответствует одному или нескольким значениям. Значения могут быть числами или символами.
- Подстановочный знак _ соответствует ровно одному значению. Значение может быть символом или числом.
- Оператор LIKE может быть объединен с оператором NOT для возврата любой строки, которая не соответствует шаблону поиска.
Загрузите базу данных, использованную в этом руководстве