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


PostgreSQL LIKE-operatoren hjælper os med at matche tekstværdier mod 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 sand. Ved hjælp af LIKE-operatoren er det muligt at bruge jokertegn i WHERE-sætningen af ​​SELECT-, UPDATE-, INSERT- eller DELETE-sætninger.

Vilde kort

Der er kun to jokertegn, der kan bruges sammen med

  • Procenttegn (%)
  • Understregning (_)

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

Understregnings-jokertegnet (_) bruges til at repræsentere ét tegn eller tal. Disse symboler kan også kombineres. Hvis LIKE-operatoren ikke bruges sammen med disse to tegn, vil den fungere som lige-operatoren.

Syntaks

Her er syntaksen for LIKE-operatoren:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Udtrykket er et tegnudtryk som en kolonne eller et felt.

Mønsteret er et karakterudtryk med mønstertilpasning.

Escape-tegnet er en valgfri parameter. Det giver mulighed for at teste bogstavelige forekomster af jokertegn såsom % og _. Hvis det ikke er angivet, vil \ blive brugt som escape-tegn.

Bruger % jokertegn

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

Bestil:

Bruger % jokertegn

Vi vil have bogen, hvis navn er som "Lear..." for at få det resultat, vi kan køre følgende kommando:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Dette vil returnere følgende:

Bruger % jokertegn

Bogen blev fundet.

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

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Dette vil returnere følgende:

Bruger % jokertegn

Bruger jokertegn _

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

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Dette returnerer følgende:

Bruger jokertegn _

Her er et andet eksempel:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

Dette returnerer følgende:

Bruger jokertegn _

Bruger NOT OperaTor

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

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

Dette returnerer følgende:

Bruger NOT OperaTor

Kun én bog opfyldte søgebetingelsen. Lad os se listen over bøgers navn, der ikke har et ord "Made":

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

Dette returnerer følgende:

Bruger NOT OperaTor

3 rækker opfyldte søgebetingelsen.

Bruger pgAdmin

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

Bruger % jokertegn

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

Trin 2)

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

Brug af pgAdmin med % jokertegn

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

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Trin 4) Klik på knappen Udfør.

Brug af pgAdmin med % jokertegn

Det skal returnere følgende:

Brug af pgAdmin med % jokertegn

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

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

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Trin 2) Klik på knappen Udfør.

Brug af pgAdmin med % jokertegn

Det skal returnere følgende:

Brug af pgAdmin med % jokertegn

Bruger jokertegn _

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

Trin 2)

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

Brug af pgAdmin med jokertegn _

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

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Trin 4) Klik på knappen Udfør.

Brug af pgAdmin med jokertegn _

Det skal returnere følgende:

Brug af pgAdmin med jokertegn _

Trin 5) For at køre det andet eksempel:

  1. Indtast følgende forespørgsel i forespørgselseditoren:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Klik på knappen Udfør.

Brug af pgAdmin med jokertegn _

Det skal returnere følgende:

Brug af pgAdmin med jokertegn _

Bruger NOT OperaTor

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

Trin 2)

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

Bruger NOT Operator i pgAdmin

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

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

Trin 4) Klik på knappen Udfør.

Bruger NOT Operator i pgAdmin

Det skal returnere følgende:

Bruger NOT Operator i pgAdmin

Bruger NOT Operator i pgAdmin

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

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

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

Trin 2) Klik på knappen Udfør.

Bruger NOT Operator i pgAdmin

Det skal returnere følgende:

Bruger NOT Operator i pgAdmin

Resumé

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

Download databasen brugt i denne vejledning