PostgreSQL LIKE, Not Like, jokertecken (%, _) exempel

Innehållsförteckning:

Anonim

PostgreSQL LIKE-operatören hjälper oss att matcha textvärden mot mönster med jokertecken. Det är möjligt att matcha sökuttrycket till mönsteruttrycket.

Om en matchning inträffar returnerar LIKE-operatören true. Med hjälp av LIKE-operatören är det möjligt att använda jokertecken i WHERE-satsen i SELECT-, UPDATE-, INSERT- eller DELETE-uttalanden.

I den här PostgreSQL-självstudien lär du dig följande:

  • Vilda kort
  • Syntax
  • Med% jokertecken
  • Med _ jokertecken
  • Använd INTE operatör
  • Använda pgAdmin

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.

Jokertecken med understrykning (_) används för att representera ett tecken eller nummer. Dessa symboler kan också kombineras. Om LIKE-operatören inte används tillsammans med dessa två tecken kommer den att fungera som lika operatör.

Syntax

Här är syntaxen för LIKE-operatören:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Uttrycket är ett teckenuttryck som en kolumn eller ett fält.

Mönstret är ett teckenuttryck med mönstermatchning.

Escape-karaktären är en valfri parameter. Det möjliggör testning av bokstavliga förekomster av jokertecken som% och _. Om den inte tillhandahålls kommer \ att användas som flyktecken.

Med% jokertecken

Som vi sagt tidigare matchar% -tecknet noll, en eller flera tecken eller siffror. Tänk på följande tabell:

Bok:

Vi vill ha boken som heter "Lear

... "för att få det resultatet kan vi köra följande kommando:
SELECT *FROMBookWHEREname LIKE 'Lear%';

Detta returnerar följande:

Boken hittades.

Låt oss söka efter en bok "av" i dess namn:

SELECT *FROMBookWHEREname LIKE '%by%';

Detta returnerar följande:

Med _ jokertecken

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

SELECT *FROMBookWHEREname LIKE '_earn%';

Detta returnerar följande:

Här är ett annat exempel:

SELECT *FROMBookWHEREname LIKE '%Beginner_';

Detta returnerar följande:

Använd INTE operatör

När LIKE-operatoren kombineras med NOT-operatören 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 *FROMBookWHEREname NOT LIKE 'Post%';

Detta returnerar följande:

Endast en bok uppfyllde sökvillkoret. Låt oss se listan över böcker som inte har ordet "Made":

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Detta returnerar följande:

Tre rader uppfyllde sökvillkoret.

Använda pgAdmin

Låt oss nu se hur åtgärderna kan utföras med pgAdmin.

Med% jokertecken

Steg 1) Logga in på ditt pgAdmin-konto.

Steg 2)

  1. Från navigeringsfältet till vänster - Klicka på databaser.
  2. Klicka på Demo.

Steg 3) Skriv frågan i frågeditoren:

SELECT *FROMBookWHEREname LIKE 'Lear%';

Steg 4) Klicka på knappen Kör.

Den ska returnera följande:

För att söka efter en bok "av" i dess namn:

Steg 1) Skriv följande kommando i frågeredigeraren:

SELECT *FROMBookWHEREname LIKE '%by%';

Steg 2) Klicka på knappen Kör.

Den ska returnera följande:

Med _ jokertecken

Steg 1) Logga in på ditt pgAdmin-konto.

Steg 2)

  1. Från navigeringsfältet till vänster - Klicka på databaser.
  2. Klicka på Demo.

Steg 3) Skriv frågan i frågeditoren:

SELECT *FROMBookWHEREname LIKE '_earn%';

Steg 4) Klicka på knappen Kör.

Den ska returnera följande:

Steg 5) Så här kör du det andra exemplet:

  1. Skriv följande fråga i frågeredigeraren:
    SELECT *FROMBookWHEREname LIKE '%Beginner_';
  2. Klicka på knappen Kör.

Den ska returnera följande:

Använd INTE operatör

Steg 1) Logga in på ditt pgAdmin-konto.

Steg 2)

  1. Från navigeringsfältet till vänster - Klicka på databaser.
  2. Klicka på Demo.

Steg 3) Om du vill se alla böcker vars namn inte börjar med "Lägg upp" skriver du frågan i frågeditoren:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Steg 4) Klicka på knappen Kör.

Den ska returnera följande:

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

Steg 1) Skriv följande fråga i frågeditorn:

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Steg 2) Klicka på knappen Kör.

Den ska returnera följande:

Sammanfattning:

  • PostgreSQL LIKE används för att matcha textvärden mot mönster med jokertecken.
  • LIKE-klausulen tillåter oss att använda jokertecken i SELECT-, UPDATE-, INSERT- eller DELETE-uttalanden.
  • % Jokertecken matchar ett eller flera värden. Värdena kan vara siffror eller tecken.
  • _ Jokerteckenet matchar exakt ett värde. Värdet kan vara ett tecken eller ett tal.
  • LIKE-operatören kan kombineras med operatören INTE för att returnera någon rad som inte matchar sökmönstret.

Ladda ner databasen som används i denna handledning