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