Оператор PostgreSQL LIKE помогает нам сопоставлять текстовые значения с шаблонами с помощью подстановочных знаков. Выражение поиска можно сопоставить с выражением шаблона.
В случае совпадения оператор LIKE возвращает значение true. С помощью оператора LIKE можно использовать подстановочные знаки в предложении WHERE операторов SELECT, UPDATE, INSERT или DELETE.
В этом руководстве по PostgreSQL вы узнаете следующее:
- Дикие карты
- Синтаксис
- Использование подстановочного знака%
- Использование подстановочного знака _
- Использование оператора NOT
- Использование pgAdmin
Дикие карты
Есть только два символа подстановки, которые можно использовать вместе с
- Знак процента (%)
- Подчеркивать (_)
Знак процента (%) используется для обозначения нуля, одного или нескольких символов или чисел.
Подстановочный знак подчеркивания (_) используется для обозначения одного символа или числа. Эти символы также можно комбинировать. Если оператор LIKE не используется вместе с этими двумя знаками, он будет действовать как оператор равенства.
Синтаксис
Вот синтаксис оператора LIKE:
expression LIKE pattern [ ESCAPE 'escape-character' ]
Выражение - это символьное выражение, такое как столбец или поле.
Шаблон - это символьное выражение с сопоставлением с образцом.
Эскейп-символ - это необязательный параметр. Он позволяет тестировать буквальные экземпляры подстановочных знаков, таких как% и _. Если он не указан, \ будет использоваться как escape-символ.
Использование подстановочного знака%
Как мы заявляли ранее, знак% соответствует нулю, одному или нескольким символам или цифрам. Рассмотрим следующую таблицу:
Книга:
Нам нужна книга, название которой похоже на «Лир».
… "Чтобы получить такой результат, мы можем выполнить следующую команду: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) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Резюме:
- LIKE в PostgreSQL используется для сопоставления текстовых значений с шаблонами с использованием подстановочных знаков.
- Предложение LIKE позволяет нам использовать подстановочные знаки в операторах SELECT, UPDATE, INSERT или DELETE.
- Подстановочный знак% соответствует одному или нескольким значениям. Значения могут быть числами или символами.
- Подстановочный знак _ соответствует ровно одному значению. Значение может быть символом или числом.
- Оператор LIKE можно комбинировать с оператором NOT для возврата любой строки, не соответствующей шаблону поиска.
Загрузите базу данных, используемую в этом руководстве