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%';

Това връща следното:

Използване на НЕ OperaTor

Само една книга отговаряше на условието за търсене. Нека да видим списъка с имена на книги, които нямат думата „Произведено“:

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

Това връща следното:

Използване на НЕ OperaTor

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 с _ заместващ знак

Използване на НЕ OperaTor

Стъпка 1) Влезте във вашия pgAdmin акаунт.

Стъпка 2)

  1. От лентата за навигация вляво щракнете върху Бази данни.
  2. Щракнете върху Демо.

Използване на НЕ Operator в pgAdmin

Стъпка 3) За да видите всички книги, чиито имена не започват с „Публикуване“, въведете заявката в редактора на заявки:

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

Стъпка 4) Щракнете върху бутона Изпълнение.

Използване на НЕ Operator в pgAdmin

Трябва да върне следното:

Използване на НЕ Operator в pgAdmin

Използване на НЕ Operator в pgAdmin

За да видите списъка с книги, чиито имена нямат думата „Произведено“:

Стъпка 1) Въведете следната заявка в редактора на заявки:

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

Стъпка 2) Щракнете върху бутона Изпълнение.

Използване на НЕ Operator в pgAdmin

Трябва да върне следното:

Използване на НЕ Operator в pgAdmin

Oбобщение

  • - PostgreSQL LIKE се използва при съпоставяне на текстови стойности срещу шаблони с помощта на заместващи знаци.
  • Клаузата LIKE ни позволява да използваме заместващи символи в МАРКИРАЙ, оператори UPDATE, INSERT или DELETE.
  • Заместващият знак % съответства на една или повече стойности. Стойностите могат да бъдат числа или знаци.
  • Заместващият знак _ съвпада с точно една стойност. Стойността може да бъде знак или число.
  • Операторът LIKE може да се комбинира с оператора NOT, за да върне всеки ред, който не отговаря на модела за търсене.

Изтеглете базата данни, използвана в този урок