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

Indholdsfortegnelse:

Anonim

PostgreSQL LIKE-operatøren hjælper os med at matche tekstværdier med mønstre ved hjælp af jokertegn. Det er muligt at matche søgeudtrykket med mønsterudtrykket.

Hvis der opstår et match, returnerer LIKE-operatoren true. Med hjælp fra LIKE-operatøren er det muligt at bruge jokertegn i WHERE-klausulen i SELECT-, UPDATE-, INSERT- eller DELETE-udsagn.

I denne PostgreSQL-selvstudie lærer du følgende:

  • Vilde kort
  • Syntaks
  • Brug af% wildcard
  • Brug af _ jokertegn
  • Brug af IKKE operatør
  • Brug af pgAdmin

Vilde kort

Der er kun to jokertegn, der kan bruges sammen med

  • Procenttegn (%)
  • Understreget (_)

Procenttegnet (%) bruges til at repræsentere nul, et eller mange tegn eller tal.

Jokertegnet med understregning (_) bruges til at repræsentere et tegn eller tal. Disse symboler kan også kombineres. Hvis LIKE-operatøren ikke bruges sammen med disse to tegn, fungerer den som lig med operatoren.

Syntaks

Her er syntaksen for LIKE-operatøren:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Udtrykket er et tegnudtryk som en kolonne eller et felt.

Mønsteret er et tegnudtryk med mønstermatchning.

Escape-character er en valgfri parameter. Det giver mulighed for test af bogstavelige forekomster af jokertegn som% og _. Hvis det ikke er angivet, bruges \ som flugttegn.

Brug af% wildcard

Som vi sagde tidligere, matcher% -tegnet nul, et eller flere tegn eller tal. Overvej følgende tabel:

Bestil:

Vi vil have bogen, hvis navn er som "Lear

... "for at få dette resultat kan vi køre følgende kommando:
SELECT *FROMBookWHEREname LIKE 'Lear%';

Dette returnerer følgende:

Bogen blev fundet.

Lad os søge efter en bog "efter" i dens navn:

SELECT *FROMBookWHEREname LIKE '%by%';

Dette returnerer følgende:

Brug af _ jokertegn

Som vi sagde tidligere, repræsenterer _ tegnet et tegn eller tal. Det kan bruges som vist nedenfor:

SELECT *FROMBookWHEREname LIKE '_earn%';

Dette returnerer følgende:

Her er et andet eksempel:

SELECT *FROMBookWHEREname LIKE '%Beginner_';

Dette returnerer følgende:

Brug af IKKE operatør

Når LIKE-operatoren kombineres med NOT-operatoren, returneres enhver række, der ikke matcher søgemønsteret. For eksempel, for at se en bog, hvis navn ikke begynder med "post", kan vi køre følgende kommando:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Dette returnerer følgende:

Kun en bog opfyldte søgebetingelsen. Lad os se listen over bøger, der ikke har ordet "Made":

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Dette returnerer følgende:

3 rækker opfyldte søgebetingelsen.

Brug af pgAdmin

Lad os nu se, hvordan handlingerne kan udføres ved hjælp af pgAdmin.

Brug af% wildcard

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Trin 3) Skriv forespørgslen i forespørgselseditoren:

SELECT *FROMBookWHEREname LIKE 'Lear%';

Trin 4) Klik på knappen Udfør.

Den skal returnere følgende:

Sådan søger du efter en bog "efter" i dens navn:

Trin 1) Skriv følgende kommando i forespørgselseditoren:

SELECT *FROMBookWHEREname LIKE '%by%';

Trin 2) Klik på knappen Udfør.

Den skal returnere følgende:

Brug af _ jokertegn

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Trin 3) Skriv forespørgslen i forespørgselseditoren:

SELECT *FROMBookWHEREname LIKE '_earn%';

Trin 4) Klik på knappen Udfør.

Den skal returnere følgende:

Trin 5) Sådan køres det andet eksempel:

  1. Skriv følgende forespørgsel i forespørgselseditoren:
    SELECT *FROMBookWHEREname LIKE '%Beginner_';
  2. Klik på knappen Udfør.

Den skal returnere følgende:

Brug af IKKE operatør

Trin 1) Log ind på din pgAdmin-konto.

Trin 2)

  1. Fra navigationslinjen til venstre - Klik på Databaser.
  2. Klik på Demo.

Trin 3) For at se alle bøger, hvis navne ikke starter med "Post", skal du skrive forespørgslen i forespørgselseditoren:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Trin 4) Klik på knappen Udfør.

Den skal returnere følgende:

For at se listen over bøger, hvis navne ikke har ordet "Made":

Trin 1) Skriv følgende forespørgsel i forespørgselseditoren:

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Trin 2) Klik på knappen Udfør.

Den skal returnere følgende:

Resumé:

  • PostgreSQL LIKE bruges til at matche tekstværdier med mønstre ved hjælp af jokertegn.
  • LIKE-klausulen giver os mulighed for at bruge jokertegn i SELECT-, UPDATE-, INSERT- eller DELETE-udsagn.
  • % Wildcard matcher en eller flere værdier. Værdierne kan være tal eller tegn.
  • _ Jokertegnet matcher nøjagtigt en værdi. Værdien kan være et tegn eller et tal.
  • LIKE-operatoren kan kombineres med operatoren NOT for at returnere en række, der ikke matcher søgemønsteret.

Download den database, der blev brugt i denne vejledning