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:
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:
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 _
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:
Här är ett annat exempel:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
Detta returnerar följande:
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:
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:
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)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
Steg 3) Skriv in frågan i frågeredigeraren:
SELECT * FROM Book WHERE name LIKE 'Lear%';
Steg 4) Klicka på knappen Kör.
Det bör returnera följande:
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.
Det bör returnera följande:
Använder jokertecken _
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
Steg 3) Skriv in frågan i frågeredigeraren:
SELECT * FROM Book WHERE name LIKE '_earn%';
Steg 4) Klicka på knappen Kör.
Det bör returnera följande:
Steg 5) För att köra det andra exemplet:
- Skriv in följande fråga i frågeredigeraren:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Klicka på knappen Kör.
Det bör returnera följande:
Använder NOT Operator
Steg 1) Logga in på ditt pgAdmin-konto.
Steg 2)
- Klicka på Databaser i navigeringsfältet till vänster.
- Klicka på Demo.
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.
Det bör returnera följande:
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.
Det bör returnera följande:
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