PostgreSQL LIKE, Not Like, Wildcards (%, _) Exemple

Cuprins:

Anonim

Operatorul PostgreSQL LIKE ne ajută să potrivim valorile textului cu modelele folosind metacaractere. Este posibil să se potrivească expresia de căutare cu expresia modelului.

Dacă apare o potrivire, operatorul LIKE returnează true. Cu ajutorul operatorului LIKE, este posibil să utilizați metacaractere în clauza WHERE a instrucțiunilor SELECT, UPDATE, INSERT sau DELETE.

În acest tutorial PostgreSQL, veți afla următoarele:

  • Wild cards
  • Sintaxă
  • Folosind% wildcard
  • Folosind _ wildcard
  • Folosind NOT Operator
  • Folosind pgAdmin

Wild cards

Există doar două metacaractere care pot fi utilizate împreună

  • Semn procentual (%)
  • Sublinia (_)

Semnul procentual (%) este utilizat pentru a reprezenta zero, unul sau mai multe caractere sau numere.

Comprimatul de subliniere (_) este folosit pentru a reprezenta un caracter sau un număr. Aceste simboluri pot fi, de asemenea, combinate. Dacă operatorul LIKE nu este utilizat împreună cu aceste două semne, acesta va acționa ca operatorul egal.

Sintaxă

Iată sintaxa pentru operatorul LIKE:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Expresia este o expresie de caracter, cum ar fi o coloană sau un câmp.

Modelul este o expresie a caracterelor cu potrivirea modelului.

Caracterul escape este un parametru opțional. Permite testarea instanțelor literale de caractere wildcard precum% și _. Dacă nu este furnizat, \ va fi folosit ca personaj de evadare.

Folosind% wildcard

După cum am afirmat mai devreme, semnul% se potrivește cu zero, unul sau mai multe caractere sau numere. Luați în considerare următorul tabel:

Carte:

Vrem cartea al cărei nume este ca „Lear

... "pentru a obține acest rezultat, putem rula următoarea comandă:
SELECT *FROMBookWHEREname LIKE 'Lear%';

Aceasta va returna următoarele:

Cartea a fost găsită.

Să căutăm o carte „după” în numele ei:

SELECT *FROMBookWHEREname LIKE '%by%';

Aceasta va returna următoarele:

Folosind _ wildcard

După cum am afirmat mai devreme, semnul _ reprezintă un caracter sau un număr. Poate fi folosit așa cum se arată mai jos:

SELECT *FROMBookWHEREname LIKE '_earn%';

Aceasta returnează următoarele:

Iată un alt exemplu:

SELECT *FROMBookWHEREname LIKE '%Beginner_';

Aceasta returnează următoarele:

Folosind NOT Operator

Când operatorul LIKE este combinat cu operatorul NOT, se returnează orice rând care nu se potrivește cu modelul de căutare. De exemplu, pentru a vedea o carte al cărei nume nu începe cu „post”, putem rula următoarea comandă:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Aceasta returnează următoarele:

O singură carte a îndeplinit condiția de căutare. Să vedem lista numelor cărților care nu au un cuvânt „Făcut”:

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Aceasta returnează următoarele:

3 rânduri au îndeplinit condiția de căutare.

Folosind pgAdmin

Acum să vedem cum pot fi efectuate acțiunile folosind pgAdmin.

Folosind% wildcard

Pasul 1) Conectați-vă la contul dvs. pgAdmin.

Pasul 2)

  1. Din bara de navigare din stânga - Faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Pasul 3) Tastați interogarea în editorul de interogări:

SELECT *FROMBookWHEREname LIKE 'Lear%';

Pasul 4) Faceți clic pe butonul Executare.

Ar trebui să returneze următoarele:

Pentru a căuta o carte „de” în numele ei:

Pasul 1) Tastați următoarea comandă în editorul de interogări:

SELECT *FROMBookWHEREname LIKE '%by%';

Pasul 2) Faceți clic pe butonul Executare.

Ar trebui să returneze următoarele:

Folosind _ wildcard

Pasul 1) Conectați-vă la contul dvs. pgAdmin.

Pasul 2)

  1. Din bara de navigare din stânga - Faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Pasul 3) Tastați interogarea în editorul de interogări:

SELECT *FROMBookWHEREname LIKE '_earn%';

Pasul 4) Faceți clic pe butonul Executare.

Ar trebui să returneze următoarele:

Pasul 5) Pentru a rula al doilea exemplu:

  1. Tastați următoarea interogare în editorul de interogări:
    SELECT *FROMBookWHEREname LIKE '%Beginner_';
  2. Faceți clic pe butonul Executare.

Ar trebui să returneze următoarele:

Folosind NOT Operator

Pasul 1) Conectați-vă la contul dvs. pgAdmin.

Pasul 2)

  1. Din bara de navigare din stânga - Faceți clic pe Baze de date.
  2. Faceți clic pe Demo.

Pasul 3) Pentru a vedea toate cărțile ale căror nume nu încep cu „Postare”, tastați interogarea în editorul de interogări:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Pasul 4) Faceți clic pe butonul Executare.

Ar trebui să returneze următoarele:

Pentru a vedea lista cărților ale căror nume nu au cuvântul „Făcut”:

Pasul 1) Tastați următoarea interogare în editorul de interogări:

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Pasul 2) Faceți clic pe butonul Executare.

Ar trebui să returneze următoarele:

Rezumat:

  • PostgreSQL LIKE este utilizat în potrivirea valorilor textului cu modelele folosind metacaractere.
  • Clauza LIKE ne permite să folosim metacaractere în instrucțiunile SELECT, UPDATE, INSERT sau DELETE.
  • % Wildcard se potrivește cu una sau mai multe valori. Valorile pot fi numere sau caractere.
  • Comodul _ corespunde exact unei valori. Valoarea poate fi un caracter sau un număr.
  • Operatorul LIKE poate fi combinat cu operatorul NOT pentru a returna orice rând care nu se potrivește cu modelul de căutare.

Descărcați baza de date utilizată în acest tutorial