PostgreSQL LIKE, Not Like, Jokertecken (%, _ ) Exempel


Ocuco-landskapet PostgreSQL LIKE-operatorn hjรคlper oss att matcha textvรคrden mot mรถnster med hjรคlp av jokertecken. Det รคr mรถjligt att matcha sรถkuttrycket med mรถnsteruttrycket.

Om en matchning intrรคffar returnerar LIKE-operatorn sant. Med hjรคlp av LIKE-operatorn รคr det mรถjligt att anvรคnda jokertecken i WHERE-satsen i SELECT-, UPDATE-, INSERT- eller DELETE-satser.

Vilda kort

Det finns bara tvรฅ jokertecken som kan anvรคndas tillsammans med

  • Procenttecken (%)
  • Understreck (_)

Procenttecknet (%) anvรคnds fรถr att representera noll, ett eller mรฅnga tecken eller siffror.

Understrecket jokertecken (_) anvรคnds fรถr att representera ett tecken eller nummer. Dessa symboler kan ocksรฅ kombineras. Om LIKE-operatorn inte anvรคnds tillsammans med dessa tvรฅ tecken kommer den att fungera som likhetsoperatorn.

syntax

Hรคr รคr syntaxen fรถr LIKE-operatorn:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Uttrycket รคr ett teckenuttryck som en kolumn eller ett fรคlt.

Mรถnstret รคr ett karaktรคrsuttryck med mรถnstermatchning.

Escape-tecken รคr en valfri parameter. Det mรถjliggรถr testning av bokstavliga instanser av jokertecken som % och _. Om det inte tillhandahรฅlls kommer \ att anvรคndas som escape-tecken.

Anvรคnder jokertecken %

Som vi nรคmnde tidigare matchar %-tecknet noll, ett eller flera tecken eller siffror. Tรคnk pรฅ fรถljande tabell:

Bok:

Anvรคnder jokertecken %

Vi vill att boken vars namn รคr som "Lear..." ska fรฅ det resultatet, vi kan kรถra fรถljande kommando:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Detta kommer att returnera fรถljande:

Anvรคnder jokertecken %

Boken hittades.

Lรฅt oss sรถka efter en bok "av" i dess namn:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Detta kommer att returnera fรถljande:

Anvรคnder jokertecken %

Anvรคnder jokertecken _

Som vi nรคmnde tidigare representerar tecknet _ ett tecken eller nummer. Den kan anvรคndas enligt nedan:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Detta returnerar fรถljande:

Anvรคnder jokertecken _

Hรคr รคr ett annat exempel:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

Detta returnerar fรถljande:

Anvรคnder jokertecken _

Anvรคnder NOT Operator

Nรคr LIKE-operatorn kombineras med NOT-operatorn returneras alla rader som inte matchar sรถkmรถnstret. Till exempel, fรถr att se en bok vars namn inte bรถrjar med "post", kan vi kรถra fรถljande kommando:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

Detta returnerar fรถljande:

Anvรคnder NOT Operator

Endast en bok uppfyllde sรถkvillkoret. Lรฅt oss se listan รถver boknamn som inte har ett ord "Made":

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

Detta returnerar fรถljande:

Anvรคnder NOT Operator

3 rader uppfyllde sรถkvillkoret.

Anvรคnder pgAdmin

Lรฅt oss nu se hur รฅtgรคrderna kan utfรถras med pgAdmin.

Anvรคnder jokertecken %

Steg 1) Logga in pรฅ ditt pgAdmin-konto.

Steg 2)

  1. Klicka pรฅ Databaser i navigeringsfรคltet till vรคnster.
  2. Klicka pรฅ Demo.

Anvรคnda pgAdmin med % jokertecken

Steg 3) Skriv in frรฅgan i frรฅgeredigeraren:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Steg 4) Klicka pรฅ knappen Kรถr.

Anvรคnda pgAdmin med % jokertecken

Det bรถr returnera fรถljande:

Anvรคnda pgAdmin med % jokertecken

Sรฅ hรคr sรถker du efter en bok "av" i dess namn:

Steg 1) Skriv fรถljande kommando i frรฅgeredigeraren:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Steg 2) Klicka pรฅ knappen Kรถr.

Anvรคnda pgAdmin med % jokertecken

Det bรถr returnera fรถljande:

Anvรคnda pgAdmin med % jokertecken

Anvรคnder jokertecken _

Steg 1) Logga in pรฅ ditt pgAdmin-konto.

Steg 2)

  1. Klicka pรฅ Databaser i navigeringsfรคltet till vรคnster.
  2. Klicka pรฅ Demo.

Anvรคnda pgAdmin med jokertecken _

Steg 3) Skriv in frรฅgan i frรฅgeredigeraren:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

Steg 4) Klicka pรฅ knappen Kรถr.

Anvรคnda pgAdmin med jokertecken _

Det bรถr returnera fรถljande:

Anvรคnda pgAdmin med jokertecken _

Steg 5) Fรถr att kรถra det andra exemplet:

  1. Skriv in fรถljande frรฅga i frรฅgeredigeraren:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Klicka pรฅ knappen Kรถr.

Anvรคnda pgAdmin med jokertecken _

Det bรถr returnera fรถljande:

Anvรคnda pgAdmin med jokertecken _

Anvรคnder NOT Operator

Steg 1) Logga in pรฅ ditt pgAdmin-konto.

Steg 2)

  1. Klicka pรฅ Databaser i navigeringsfรคltet till vรคnster.
  2. Klicka pรฅ Demo.

Anvรคnder NOT Operator i pgAdmin

Steg 3) Fรถr att se alla bรถcker vars namn inte bรถrjar med "Inlรคgg", skriv frรฅgan i frรฅgeredigeraren:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

Steg 4) Klicka pรฅ knappen Kรถr.

Anvรคnder NOT Operator i pgAdmin

Det bรถr returnera fรถljande:

Anvรคnder NOT Operator i pgAdmin

Anvรคnder NOT Operator i pgAdmin

Fรถr att se listan รถver bรถcker vars namn inte har ordet "Made":

Steg 1) Skriv in fรถljande frรฅga i frรฅgeredigeraren:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

Steg 2) Klicka pรฅ knappen Kรถr.

Anvรคnder NOT Operator i pgAdmin

Det bรถr returnera fรถljande:

Anvรคnder NOT Operator i pgAdmin

Sammanfattning

  • Ocuco-landskapet PostgreSQL LIKE anvรคnds fรถr att matcha textvรคrden mot mรถnster med hjรคlp av jokertecken.
  • LIKE-satsen tillรฅter oss att anvรคnda jokertecken i Vร„LJA, UPDATE, INSERT eller DELETE-satser.
  • Jokertecken % matchar ett eller flera vรคrden. Vรคrdena kan vara siffror eller tecken.
  • Jokertecknet _ matchar exakt ett vรคrde. Vรคrdet kan vara ett tecken eller ett tal.
  • LIKE-operatorn kan kombineras med NOT-operatorn fรถr att returnera vilken rad som helst som inte matchar sรถkmรถnstret.

Ladda ner den databas som anvรคnds i denna handledning

Sammanfatta detta inlรคgg med: