PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Eksempler
Ocuco PostgreSQL LIKE-operatoren hjelper oss å matche tekstverdier mot mønstre ved hjelp av jokertegn. Det er mulig å matche søkeuttrykket med mønsteruttrykket.
Hvis en match oppstår, returnerer LIKE-operatoren sann. Ved hjelp av LIKE-operatoren er det mulig å bruke jokertegn i WHERE-leddet til SELECT-, UPDATE-, INSERT- eller DELETE-setninger.
Ville kort
Det er bare to jokertegn som kan brukes sammen med
- Prosenttegn (%)
- Understrek (_)
Prosenttegnet (%) brukes til å representere null, ett eller mange tegn eller tall.
Understreket jokertegnet (_) brukes til å representere ett tegn eller tall. Disse symbolene kan også kombineres. Hvis LIKE-operatoren ikke brukes sammen med disse to tegnene, vil den fungere som lik-operatoren.
syntax
Her er syntaksen for LIKE-operatoren:
expression LIKE pattern [ ESCAPE 'escape-character' ]
Uttrykket er et tegnuttrykk som en kolonne eller et felt.
Mønsteret er et karakteruttrykk med mønstertilpasning.
Escape-tegnet er en valgfri parameter. Den tillater testing av bokstavelige forekomster av jokertegn som % og _. Hvis det ikke er oppgitt, vil \ bli brukt som escape-tegnet.
Bruker jokertegn %
Som vi sa tidligere, samsvarer %-tegnet med null, ett eller flere tegn eller tall. Tenk på følgende tabell:
Bok:
Vi vil at boken hvis navn er som "Lear ..." skal få det resultatet, vi kan kjøre følgende kommando:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Dette vil returnere følgende:
Boken ble funnet.
La oss søke etter en bok "av" i navnet:
SELECT * FROM Book WHERE name LIKE '%by%';
Dette vil returnere følgende:
Bruker jokertegn _
Som vi sa tidligere, representerer _-tegnet ett tegn eller tall. Den kan brukes som vist nedenfor:
SELECT * FROM Book WHERE name LIKE '_earn%';
Dette returnerer følgende:
Her er et annet eksempel:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
Dette returnerer følgende:
Bruker IKKE Operator
Når LIKE-operatoren kombineres med NOT-operatoren, returneres enhver rad som ikke samsvarer med søkemønsteret. For eksempel, for å se en bok hvis navn ikke begynner med "post", kan vi kjøre følgende kommando:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Dette returnerer følgende:
Bare én bok oppfylte søkebetingelsen. La oss se listen over boknavn som ikke har et ord "Laget":
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Dette returnerer følgende:
3 rader oppfylte søkebetingelsen.
Bruker pgAdmin
La oss nå se hvordan handlingene kan utføres ved hjelp av pgAdmin.
Bruker jokertegn %
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Trinn 4) Klikk på Utfør-knappen.
Den skal returnere følgende:
Slik søker du etter en bok "av" i navnet:
Trinn 1) Skriv inn følgende kommando i spørringsredigeringsprogrammet:
SELECT * FROM Book WHERE name LIKE '%by%';
Trinn 2) Klikk på Utfør-knappen.
Den skal returnere følgende:
Bruker jokertegn _
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) Skriv inn søket i spørringsredigeringsprogrammet:
SELECT * FROM Book WHERE name LIKE '_earn%';
Trinn 4) Klikk på Utfør-knappen.
Den skal returnere følgende:
Trinn 5) For å kjøre det andre eksemplet:
- Skriv inn følgende spørring i spørringsredigeringsprogrammet:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Klikk på Utfør-knappen.
Den skal returnere følgende:
Bruker IKKE Operator
Trinn 1) Logg på pgAdmin-kontoen din.
Trinn 2)
- Fra navigasjonslinjen til venstre klikker du på Databaser.
- Klikk på Demo.
Trinn 3) For å se alle bøker med navn som ikke begynner med «Legg inn», skriv inn søket i søkeredigeringsprogrammet:
SELECT * FROM Book WHERE name NOT LIKE 'Post%';
Trinn 4) Klikk på Utfør-knappen.
Den skal returnere følgende:
For å se listen over bøker hvis navn ikke har ordet "Laget":
Trinn 1) Skriv inn følgende spørring i spørringsredigeringsprogrammet:
SELECT * FROM Book WHERE name NOT LIKE '%Made%';
Trinn 2) Klikk på Utfør-knappen.
Den skal returnere følgende:
Sammendrag
- Ocuco PostgreSQL LIKE brukes til å matche tekstverdier mot mønstre ved hjelp av jokertegn.
- LIKE-klausulen lar oss bruke jokertegn i VELG, UPDATE, INSERT eller DELETE-setninger.
- Jokertegnet % samsvarer med én eller flere verdier. Verdiene kan være tall eller tegn.
- Jokertegnet _ samsvarer med nøyaktig én verdi. Verdien kan være et tegn eller et tall.
- LIKE-operatoren kan kombineres med NOT-operatoren for å returnere en hvilken som helst rad som ikke samsvarer med søkemønsteret.
Last ned databasen som brukes i denne opplæringen