PostgreSQL ХАРЕСВА, Не харесва, Заместващи знаци (%, _ ) Примери
- PostgreSQL Операторът LIKE ни помага да съпоставим текстови стойности с шаблони с помощта на заместващи знаци. Възможно е да се съпостави изразът за търсене с израза на модела.
Ако се появи съвпадение, операторът LIKE връща true. С помощта на оператора LIKE е възможно да се използват заместващи символи в клаузата WHERE на операторите SELECT, UPDATE, INSERT или DELETE.
Уайлд карти
Има само два заместващи знака, които могат да се използват заедно с
- Знак за процент (%)
- Долна черта (_)
Знакът за процент (%) се използва за представяне на нула, един или много знаци или числа.
Долната черта заместващ знак (_) се използва за представяне на един знак или число. Тези символи също могат да се комбинират. Ако операторът 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_';
Това връща следното:
Използване на НЕ OperaTor
Когато операторът 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_';
- Щракнете върху бутона Изпълнение.
Трябва да върне следното:
Използване на НЕ OperaTor
Стъпка 1) Влезте във вашия pgAdmin акаунт.
Стъпка 2)
- От лентата за навигация вляво щракнете върху Бази данни.
- Щракнете върху Демо.
Стъпка 3) За да видите всички книги, чиито имена не започват с „Публикуване“, въведете заявката в редактора на заявки:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Стъпка 4) Щракнете върху бутона Изпълнение.
Трябва да върне следното:
За да видите списъка с книги, чиито имена нямат думата „Произведено“:
Стъпка 1) Въведете следната заявка в редактора на заявки:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Стъпка 2) Щракнете върху бутона Изпълнение.
Трябва да върне следното:
Oбобщение
- - PostgreSQL LIKE се използва при съпоставяне на текстови стойности срещу шаблони с помощта на заместващи знаци.
- Клаузата LIKE ни позволява да използваме заместващи символи в МАРКИРАЙ, оператори UPDATE, INSERT или DELETE.
- Заместващият знак % съответства на една или повече стойности. Стойностите могат да бъдат числа или знаци.
- Заместващият знак _ съвпада с точно една стойност. Стойността може да бъде знак или число.
- Операторът LIKE може да се комбинира с оператора NOT, за да върне всеки ред, който не отговаря на модела за търсене.
Изтеглете базата данни, използвана в този урок























