PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Eksempler
โก Smart opsummering
PostgreSQL LIKE matcher tekst mod mรธnstre ved hjรฆlp af to jokertegn - procenttegnet og understregningen. Denne vejledning viser, hvordan man bruger LIKE og NOT LIKE i SELECT-sรฆtninger, med eksempler fra psql og pgAdmin for hvert tilfรฆlde.

PostgreSQL LIKE Operatoren matcher tekstvรฆrdier med mรธnstre ved hjรฆlp af jokertegn. Hvis sรธgeudtrykket matcher mรธnsteret, returnerer LIKE trueJokertegn fungerer i WHERE klausul af SELECT, UPDATE, INSERT eller DELETE.
Hvad er PostgreSQL Wildcards?
PostgreSQL understรธtter to LIKE-jokertegn:
- Procenttegn (
%): matcher nul, et eller mange tegn eller cifre. - Understregning (
_): matcher prรฆcis รฉt tegn eller ciffer.
De to symboler kan kombineres inden for det samme mรธnster. Hvis LIKE bruges uden et af jokertegnene, opfรธrer det sig som lig med (=) operatรธr.
PostgreSQL LIKE-syntaks
Den grundlรฆggende LIKE-syntaks er:
expression LIKE pattern [ ESCAPE 'escape-character' ]
- udtryk โ et tegnudtryk, typisk et kolonne- eller feltnavn.
- mรธnster โ et tegnudtryk, der indeholder jokertegn.
- escape-karakter โ valgfrit. Lader dig matche bogstaveligt
%or_tegn. Nรฅr det udelades, bruges omvendt skrรฅstreg (\) er standard escape-tegnet.
PostgreSQL LIKE med %-jokertegnet
% tegnet matcher nul, et eller flere tegn. Overvej fรธlgende Book bord:
For at finde bรธger, hvis navn starter med "Lear", skal du kรธre nedenstรฅende forespรธrgsel.
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Forespรธrgslen returnerer:
Sรฅdan finder du bรธger, hvis navn indeholder "af" et sted:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Forespรธrgslen returnerer:
PostgreSQL LIKE med _ wildcard
_ tegnet matcher prรฆcis รฉt tegn. Fรธlgende forespรธrgsel finder navne, hvor det fรธrste tegn er et hvilket som helst bogstav, efterfulgt af "earn" og derefter et hvilket som helst suffiks:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Forespรธrgslen returnerer:
Et andet eksempel โ match enhver tekst, der slutter med "Begynder" plus et mere tegn:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
Forespรธrgslen returnerer:
PostgreSQL IKKE SOM OperaTor
Kombinรฉr LIKE med NOT for at returnere rรฆkker, der gรธr det ikke match mรธnsteret. For eksempel, angiv alle bรธger, hvis navn ikke starter med "Post":
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Forespรธrgslen returnerer:
Kun รฉn bog opfylder betingelsen. Angiv nu alle bรธger, hvis navn ikke opfylder betingelsen. ikke indeholder ordet "Made":
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Forespรธrgslen returnerer:
Tre rรฆkker opfylder betingelsen.
Brug af LIKE med pgAdmin
De samme forespรธrgsler kan ogsรฅ kรธres grafisk inde i pgAdmins forespรธrgselsvรฆrktรธj.
% Jokertegn i pgAdmin
Trin 1) Log ind pรฅ pgAdmin.
Trin 2) Klik pรฅ i navigationslinjen til venstre Databaser, og klik derefter pรฅ Demo.
Trin 3) Skriv forespรธrgslen i forespรธrgselseditoren:
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Trin 4) Klik Udfรธr.
Resultatruden viser de matchende bรธger:
Sรฅdan sรธger du efter en bog med "af" et vilkรฅrligt sted i navnet:
Trin 1) Skriv fรธlgende i forespรธrgselseditoren:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Trin 2) Klik Udfรธr.
Resultatruden viser:
_ Jokertegn i pgAdmin
Trin 1) Log ind pรฅ pgAdmin.
Trin 2) Klik pรฅ i navigationslinjen til venstre Databaser, og klik derefter pรฅ Demo.
Trin 3) Skriv forespรธrgslen i forespรธrgselseditoren:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Trin 4) Klik Udfรธr.
Resultatruden viser:
Trin 5) Kรธr det andet eksempel:
- Skriv forespรธrgslen i forespรธrgselseditoren:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
- Klik Udfรธr.
Resultatruden viser:
IKKE SOM i pgAdmin
Trin 1) Log ind pรฅ pgAdmin.
Trin 2) Klik pรฅ i navigationslinjen til venstre Databaser, og klik derefter pรฅ Demo.
Trin 3) For at liste alle bรธger, hvis navn ikke starter med "Post", skal du skrive:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Trin 4) Klik Udfรธr.
Resultatruden viser:
Sรฅdan oplister du bรธger, hvis navn ikke indeholder ordet "Made":
Trin 1) Skriv fรธlgende i forespรธrgselseditoren:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Trin 2) Klik Udfรธr.
Resultatruden viser:
Download databasen, der bruges i denne vejledning.























