PostgreSQL LIKE, Not Like, Wildcards (%, _ ) Eksempler
โก Smart oppsummering
PostgreSQL LIKE matcher tekst mot mรธnstre ved hjelp av to jokertegn โ prosenttegnet og understrekingen. Denne veiledningen viser hvordan du bruker LIKE og NOT LIKE i SELECT-setninger, med eksempler fra psql og pgAdmin for hvert tilfelle.
Ocuco PostgreSQL SOM Operatoren matcher tekstverdier mot mรธnstre ved hjelp av jokertegn. Hvis sรธkeuttrykket samsvarer med mรธnsteret, returnerer LIKE trueJokertegn fungerer i WHERE klausul av SELECT, UPDATE, INSERTeller DELETE.
Hva er PostgreSQL Jokertegn?
PostgreSQL stรธtter to LIKE-jokertegn:
- Prosenttegn (
%): samsvarer med null, ett eller mange tegn eller sifre. - Understrek (
_): samsvarer med nรธyaktig ett tegn eller siffer.
De to symbolene kan kombineres innenfor samme mรธnster. Hvis LIKE brukes uten noen av jokertegnet, oppfรธrer det seg som likhetstegnene (=) operatรธr.
PostgreSQL LIKE-syntaks
Den grunnleggende LIKE-syntaksen er:
expression LIKE pattern [ ESCAPE 'escape-character' ]
- uttrykk โ et tegnuttrykk, vanligvis et kolonne- eller feltnavn.
- mรธnster โ et tegnuttrykk som inneholder jokertegn.
- escape-karakter โ valgfritt. Lar deg matche bokstavelig
%or_tegn. Nรฅr den utelates, brukes omvendt skrรฅstrek (\) er standard escape-tegnet.
PostgreSQL LIKE med %-jokertegnet
Ocuco % tegnet samsvarer med null, ett eller flere tegn. Vurder fรธlgende Book tabell:
For รฅ finne bรธker med navn som begynner med ยซLearยป, kjรธr spรธrringen nedenfor.
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Spรธrringen returnerer:
Slik finner du bรธker der navnet inneholder ยซavยป hvor som helst:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Spรธrringen returnerer:
PostgreSQL LIKE med _-jokertegnet
Ocuco _ tegnet samsvarer med nรธyaktig ett tegn. Fรธlgende spรธrring finner navn der det fรธrste tegnet er en hvilken som helst enkeltbokstav, etterfulgt av ยซearnยป og deretter et hvilket som helst suffiks:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Spรธrringen returnerer:
Et annet eksempel โ finn en tekst som slutter med ยซNybegynnerยป pluss ett tegn til:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
Spรธrringen returnerer:
PostgreSQL IKKE LIKE Operator
Kombiner LIKE med NOT for รฅ returnere rader som ikke gjรธr det ikke samsvar med mรธnsteret. For eksempel, oppgi alle bรธker som ikke har navnet sitt som starter med ยซPostยป:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Spรธrringen returnerer:
Bare รฉn bok oppfyller betingelsen. List nรฅ opp alle bรธker hvis navn ikke ikke inneholder ordet ยซLagetยป:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Spรธrringen returnerer:
Tre rader oppfyller betingelsen.
Bruke LIKE med pgAdmin
De samme spรธrringene kan ogsรฅ kjรธres grafisk i pgAdmins spรธrreverktรธy.
% Jokertegn i pgAdmin
Trinn 1) Logg inn pรฅ pgAdmin.
Trinn 2) Klikk pรฅ i navigasjonslinjen til venstre databaser, klikk deretter demo.
Trinn 3) Skriv inn spรธrringen i spรธrreredigereren:
SELECT *
FROM
Book
WHERE
name LIKE 'Lear%';
Trinn 4) Klikk Henrette.
Resultatruten viser de samsvarende bรธkene:
Slik sรธker du etter en bok med ยซavยป hvor som helst i navnet:
Trinn 1) Skriv inn fรธlgende i spรธrreredigeringsprogrammet:
SELECT *
FROM
Book
WHERE
name LIKE '%by%';
Trinn 2) Klikk Henrette.
Resultatruten viser:
_ Jokertegn i pgAdmin
Trinn 1) Logg inn pรฅ pgAdmin.
Trinn 2) Klikk pรฅ i navigasjonslinjen til venstre databaser, klikk deretter demo.
Trinn 3) Skriv inn spรธrringen i spรธrreredigereren:
SELECT *
FROM
Book
WHERE
name LIKE '_earn%';
Trinn 4) Klikk Henrette.
Resultatruten viser:
Trinn 5) Kjรธr det andre eksemplet:
- Skriv inn spรธrringen i spรธrreredigereren:
SELECT *
FROM
Book
WHERE
name LIKE '%Beginner_';
- Klikk Henrette.
Resultatruten viser:
IKKE SOM i pgAdmin
Trinn 1) Logg inn pรฅ pgAdmin.
Trinn 2) Klikk pรฅ i navigasjonslinjen til venstre databaser, klikk deretter demo.
Trinn 3) For รฅ liste opp alle bรธker som ikke starter med ยซPostยป, skriver du:
SELECT *
FROM
Book
WHERE
name NOT LIKE 'Post%';
Trinn 4) Klikk Henrette.
Resultatruten viser:
For รฅ liste opp bรธker hvis navn ikke inneholder ordet ยซMadeยป:
Trinn 1) Skriv inn fรธlgende i spรธrreredigeringsprogrammet:
SELECT *
FROM
Book
WHERE
name NOT LIKE '%Made%';
Trinn 2) Klikk Henrette.
Resultatruten viser:
Last ned databasen som brukes i denne veiledningen.
























