Översikt över Wildcard i SQL
Ett jokertecken i SQL gör jobbet med att ersätta i en sträng, noll till valfritt antal tecken. Vanligtvis kan dessa jokertecken hittas som används med SQL-operatören LIKE. Detta är en operatör som vanligtvis används i WHERE-klausulen i SQL, för att jaga efter ett särskilt arrangemang av tecken.
Wildcards har ett liknande mål som Regular Expressions. Ett jokertecken är ett ersättningstecken som används för att ersätta specifika andra tecken eller tecken i den strängen. Dessa jokertecken är fördelaktiga när vi vill göra en snabb sökning i databasen.
Vi har två vanliga jokertecken i SQL. Procentsymbolen betyder noll, ett eller valfritt antal tecken. Understrekningssymbolen anger ett enda tecken, antingen en bokstav eller ett tal. Dessa skyltar kan kombineras i flera arrangemang. Vi har också (charlist), (charlist) och (! Charlist), som kan användas både i SQL och MS Access.
Vi tittar på dessa jokertecken i detalj tillsammans med några andra användbara jokertecken.
Wildcard | Beskrivning | Exempel |
Procenttecken:% | Detta jokertecken matchar noll eller fler tecken | ha% hittar ha, hatt, glad och händer |
Underscore: _ | Detta jokertecken matchar bara en specifik enskild karaktär | p_t hitta potten, pit och put |
Hakparentes: () | Detta jokertecken matchar en solo-karaktär som anges inom parentes | p (oi) t hitta kruka och grop, men inte sätta |
Caret: ^ | Detta jokertecken matchar tecken som inte finns i fästen efter denna symbol | p (oi) t finner put, men inte pot och pit |
Låt oss notera att MS Access använder teckenstjärnsymbolen (*) för jokertecken istället för procenttecken (%) jokertecken för att matcha noll eller fler tecken och att det använder teckenfråget (?) För jokertecken istället för understrukna jokertecken för att representera en enda karaktär.
Syntax av SQL Wildcards
Låt oss titta på antalet sätt som Wildcard-karaktären '%' och '_' kan skrivas på:
SELECT FROM table_name
WHERE column LIKE 'AAAA%'
Eller
SELECT FROM table_name
WHERE column LIKE '%AAAA%'
Eller
SELECT FROM table_name
WHERE column LIKE '_AAAA'
Eller
SELECT FROM table_name
WHERE column LIKE 'AAAA_'
Eller
SELECT FROM table_name
WHERE column LIKE '_ AAAA _'
AAAA% hjälper oss att leta efter strängar som börjar med AAAA och slutar där eller som slutar med en annan karaktär eller mer än en enda karaktär.
% AAAA% hjälper oss att leta efter strängar som börjar med valfritt antal tecken men som innehåller strängen AAAA däremellan och slutar med valfritt antal tecken från 0 till oändlighet.
_AAAA hjälper oss att leta efter alla strängar som börjar med en enda distinkt karaktär och slutar med strängen AAAA.
AAAA_ hjälper oss att leta efter alla strängar som börjar med AAAA-mönster och slutar med en enda distinkt karaktär.
_AAAA_ hjälper oss att leta efter alla strängar som börjar med en distinkt karaktär, som innehåller mönstret AAAA emellan och slutar med en enda distinkt karaktär.
Exempel för varje jokertecken i SQL
Här är några av Wildcard Character-exemplen som ges nedan
1) Arbeta med% Wildcard
Med detta exempel kan vi välja alla anställda i en stad som börjar med “the”:
SELECT * FROM Employees
WHERE City LIKE 'the%';
2) Arbeta med _ Wildcard
Med det här exemplet kan vi välja alla anställda i en stad som börjar med en enda distinkt karaktär, men slutar med "elhi":
SELECT * FROM Employees
WHERE City LIKE '_elhi';
Låt oss titta på ett annat exempel där vi kan välja anställda i staden vars namn börjar med "B", följt av en enda distinkt karaktär, följt av "r", följt av en enda distinkt karaktär, följt av "in":
SELECT * FROM Employees
WHERE City LIKE 'B_r_in';
3) Kombinera% och _ Wildcard
Vi kan kombinera båda jokertecken för att optimera vår sökprocess.
Med det här exemplet kan vi hitta alla strängar som har 'a' i den andra positionen.
WHERE StringName LIKE '_a%'
Med det här exemplet kan vi hitta alla sträng som börjar med 'x' och har längden på minst tre tecken.
WHERE StringName LIKE 'x_%_%'
Med detta exempel kan vi hitta vilken sträng som börjar med 'x' och slutar med 'y', med minst ett tecken emellan.
WHERE StringName LIKE 'x%_y'
4) Arbeta med () Wildcard
Med detta exempel kan vi välja alla anställda i en stad vars namn börjar med antingen "a", "b" eller "c".
SELECT * FROM Employees
WHERE City LIKE '(abc)%';
Vi kan skriva samma exempel på ett annat sätt genom att använda bindestreckssymbolen (-). Detta uttalande kommer också att välja alla anställda i en stad vars namn börjar med antingen "a", "b" eller "c". Det kan skrivas på följande sätt:
>SELECT * FROM Employees
WHERE City LIKE '(ac)%';
5) Arbeta med (!) Jokertecken
Med detta exempel kan vi välja alla anställda i en stad vars namn INTE börjar med varken "a", "b" eller "c".
SELECT * FROM Employees
WHERE City LIKE '(!abc)%';
Detta uttalande kan också skrivas på följande sätt:
SELECT * FROM Employees
WHERE City NOT LIKE '(abc)%';
Slutsats
I denna SQL Wildcard-artikel har vi tittat på alla jokertecken i SQL. Dessutom tittade vi på olika exempel på SQL Wildcard-karaktärer för att ge oss mer förståelse och tydlighet.
Avslutningsvis gör Wildcard-karaktärer liknande arbete som för vanliga uttryck. Vi kan kombinera flera jokertecken tillsammans i en solo-sträng för att få bättre sökresultat och resultat. Det kan finnas några databaser som MS Access som kan använda ett separat SQL-jokertecken för en liknande funktion.
Rekommenderade artiklar
Detta är en guide till Wildcard i SQL. Här diskuterar vi syntaxen för SQL-vildkort med exemplen för varje jokertecken. Du kan också titta på följande artikel för att lära dig mer -
- SQL Views
- SQL-hanteringsverktyg
- Vad är MySQL?
- Introduktion till MySQL