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

Opsummer dette indlรฆg med: