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%';
Это возвращает следующее:
Условию поиска соответствовала только одна книга. Посмотрим список названий книг, в которых нет слова «Сделано»:
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_';
- Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Использование НЕ Operaтор
Шаг 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 позволяет нам использовать подстановочные знаки в ВЫБОРОператоры , UPDATE, INSERT или DELETE.
- Подстановочный знак % соответствует одному или нескольким значениям. Значения могут быть числами или символами.
- Подстановочный знак _ соответствует ровно одному значению. Значение может быть символом или числом.
- Оператор LIKE можно комбинировать с оператором NOT для возврата любой строки, не соответствующей шаблону поиска.