Oversikt over Wildcard i SQL
Et jokertegn i SQL gjør jobben med å erstatte i en streng, null til et hvilket som helst antall tegn. Vanligvis kan disse jokertegnene brukes ved bruk av SQL-operatøren LIKE. Dette er en operatør som ofte brukes i WHERE-leddet i SQL, for å jakte på et bestemt arrangement av tegn.
Jokertegn har et lignende mål som for vanlige uttrykk. Et jokertegn er et erstatningstegn som brukes til å erstatte spesifikke andre tegn eller tegn i den strengen. Disse jokertegnene er fordelaktige når vi vil gjøre et raskt søk i databasen.
Vi har to vanlige jokertegn i SQL. Prosentsymbolet betyr null, ett eller et hvilket som helst antall tegn. Understrekningssymbolet angir et enkelt tegn, enten en bokstav eller et tall. Disse skiltene kan kombineres i flere arrangementer. Vi har også (charlist), (charlist) og (! Charlist), som kan brukes både i SQL og MS Access.
Vi vil se på disse jokertegnene i detalj, sammen med noen få andre nyttige jokertegn.
Wildcard | Beskrivelse | Eksempel |
Prosenttegn:% | Dette jokertegnet matcher null eller flere tegn | ha% finner ha, hatt, lykkelig og skje |
Understrek: _ | Dette jokertegnet samsvarer bare med en spesifikk enkelt karakter | p_t finne potten, pit og putten |
Firkantede parenteser: () | Dette jokertegnet samsvarer med en solo karakter som er spesifisert i parentesene | p (oi) t finn gryte og grop, men ikke lagt |
Caret: ^ | Dette jokertegnet samsvarer med tegn som ikke er til stede i parentesen etter dette symbolet | p (oi) t finner put, men ikke gryte og grop |
La oss merke oss at MS Access bruker tegnet asterisk symbol (*) for jokertegn i stedet for prosent symbol (%) jokertegn for å matche null eller flere tegn, og det bruker spørsmålstegnet (?) For jokertegn i stedet for understrekingen av jokertegnet for å representere en enkelt karakter.
Syntaks for SQL Wildcards
La oss se på antall måter Wildcard-tegnet '%' og '_' kan skrives 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% hjelper oss med å lete etter alle strenger som begynner med AAAA og slutter der eller slutter med et annet enkelt tegn eller mer enn et enkelt tegn.
% AAAA% hjelper oss med å lete etter alle strenger som begynner med et hvilket som helst antall tegn, men som inneholder strengen AAAA i mellom, og som slutter med et hvilket som helst antall tegn fra 0 til uendelig.
_AAAA hjelper oss å lete etter alle strenger som begynner med en enkelt karakter og slutter med strengen AAAA.
AAAA_ hjelper oss å lete etter alle strenger som begynner med AAAA-mønster og slutter med en enkelt karakter.
_AAAA_ hjelper oss å lete etter alle strenger som begynner med et utpreget tegn, som inneholder mønsteret AAAA i mellom og slutter med et enkelt distinkt tegn.
Eksempler for hvert jokertegn i SQL
Her er noen av Wildcard Character eksemplene gitt nedenfor
1) Arbeide med% jokertegn
Med dette eksemplet kan vi velge alle de ansatte i en by som begynner med "the":
SELECT * FROM Employees
WHERE City LIKE 'the%';
2) Arbeide med _ Wildcard
Med dette eksemplet kan vi velge alle de ansatte i en by som begynner med en enkelt karakter, men som slutter med "elhi":
SELECT * FROM Employees
WHERE City LIKE '_elhi';
La oss se på et annet eksempel der vi kan velge ansatte i byen hvis navn begynner med “B”, etterfulgt av et enkelt karakter, etterfulgt av “r”, etterfulgt av et enkelt distinkt tegn, etterfulgt av “in”:
SELECT * FROM Employees
WHERE City LIKE 'B_r_in';
3) Kombinere% og _ Wildcard
Vi kan kombinere begge jokertegnene for å optimalisere søkeprosessen.
Med dette eksemplet kan vi finne en hvilken som helst streng som har 'a' i den andre posisjonen.
WHERE StringName LIKE '_a%'
Med dette eksemplet kan vi finne en hvilken som helst streng som begynner med 'x' og har lengden på minimum tre tegn.
WHERE StringName LIKE 'x_%_%'
Med dette eksemplet kan vi finne en hvilken som helst streng som begynner med 'x' og slutter med 'y', med minst ett tegn i mellom.
WHERE StringName LIKE 'x%_y'
4) Arbeide med () jokertegn
Med dette eksemplet kan vi velge alle ansatte i en by hvis navn begynner med enten "a", "b" eller "c".
SELECT * FROM Employees
WHERE City LIKE '(abc)%';
Vi kan skrive det samme eksemplet på en annen måte ved å bruke bindestrek (-) symbolet. Denne uttalelsen vil også velge alle ansatte i en by hvis navn begynner med enten "a", "b" eller "c". Det kan skrives som følger:
>SELECT * FROM Employees
WHERE City LIKE '(ac)%';
5) Arbeide med (!) Jokertegn
Med dette eksemplet kan vi velge alle ansatte i en by hvis navn IKKE begynner med verken “a”, “b” eller “c”.
SELECT * FROM Employees
WHERE City LIKE '(!abc)%';
Denne uttalelsen kan også skrives som følger:
SELECT * FROM Employees
WHERE City NOT LIKE '(abc)%';
Konklusjon
I denne SQL Wildcard-artikkelen har vi sett på alle jokertegnene i SQL. Videre så vi på forskjellige eksempler på SQL jokertegn for å gi oss mer forståelse og klarhet.
For å konkludere, Wildcard-karakterer gjør lignende arbeider som for vanlige uttrykk. Vi kan kombinere flere jokertegn sammen i en solo-streng for å oppnå bedre søkeresultater og resultater. Det kan være noen få databaser som MS Access som kan bruke et eget SQL-jokertegn for en lignende funksjon.
Anbefalte artikler
Dette er en guide til Wildcard i SQL. Her diskuterer vi Syntax of SQL Wildcards med eksemplene for hver jokertegn. Du kan også se på følgende artikkel for å lære mer -
- SQL Views
- SQL Management Tools
- Hva er MySQL?
- Introduksjon til MySQL