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)
- Fra navigationslinjen til venstre - Klik på Databaser.
- 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)
- Fra navigationslinjen til venstre - Klik på Databaser.
- 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:
- Skriv følgende forespørgsel i forespørgselseditoren:
SELECT *FROMBookWHEREname LIKE '%Beginner_';
- 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)
- Fra navigationslinjen til venstre - Klik på Databaser.
- 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