i DENNE artikkelen skal vi lære å bruke SQL LIKE operator, I SQL Server, ved hjelp av regulære uttrykk for å finne og / eller manipulere tekst. Vi starter med å lære symbolene og grunnleggende syntaks for å bruke jokertegn regulære uttrykk. Vi vil bruke tegnsett og repetisjon uttrykk for å lage fleksible matchende mønstre, og underveis, vi vil undersøke ulike måter å bruke LIGNENDE operatør. Og så, til slutt, i den siste delen av seksjonen, vil vi utforske noen av de vanligste og mest nyttige regulære uttrykk eksemplene.
SQL ER det mest brukte språket for å jobbe med databaser. Når du designer en rapport eller bruker BI eller et rapporteringsverktøy, bygger programvaren nesten helt sikkert EN SQL-spørring bak kulissene som kjører på databasen og returnerer de valgte dataene. Når vi leter etter spesifikke data eller dataene som passer til bestemte kriterier, gir where-klausulen verktøysettet du trenger. Dette gir et alternativ til å spørre bestemte rader som vi leter etter i stedet for hele tabellen.
Forutsetninger
Last Ned AdventureWorks2014-databasen her for å teste følgende t-SQL-prøver.
Komme i Gang
La OSS gå GJENNOM SQL-setninger ved HJELP av lignende søkeord og jokertegn. Så, la oss komme i gang med å lære OM SQL som operatør. Regulære uttrykk Er mønstre for å beskrive hvordan du matcher strenger I EN WHERE-setning. Mange programmeringsspråk støtter regulære uttrykk som bruker litt forskjellig syntaks fra det som brukes MED LIGNENDE operatør. I denne artikkelen, når vi refererer til regulære uttrykk, refererer vi til mønstrene som brukes med SQL – lignende operatoren
tabellen nedenfor inneholder de fire forskjellige jokertegn. DU kan også se ARTIKKELEN SQL strengfunksjoner For Data Munging (Wrangling) for flere eksempler.
Jokertegn |
% |
en streng med null eller flere tegn i søkemønsteret |
et enkelt tegnsøk med det angitte mønsteret |
|
bruke sql som med ‘%’ jokertegn
Følgende SQL-setning RETURNERER alle radene i persontabellen der etternavnet begynner med bokstaven A. La oss angi bokstaven A, det første tegnet som må være i strengen, og deretter bruke jokertegnet%, prosent.
du vil se utdataene som viser topp 10 rader i persontabellen der fornavnet starter Med A og resten av tegnet er ukjent.
Bruke SQL SOM med ‘_’ jokertegn
jokertegnet, understreking, er for å matche et enkelt tegn. FØLGENDE SQL-setning finner alle telefonnumre som har et retningsnummer som starter med 7 og slutter på 8 i kolonnen telefonnummer. Vi har også inkludert % jokertegn på slutten av søkemønsteret, da vi ikke er opptatt av resten av strengverdiene.
utgangen viser at retningsnummeret som starter med 7 og slutter med 8 er oppført.
Bruke SQL SOM med jokertegn
Hakeparenteser f.eks tillate oss å identifisere flere enkelt tegn som ville være i den aktuelle posisjonen. For eksempel, la oss si å liste alle radene der fornavn tredje tegn begynner med I Eller K. I stedet for å skrive flere lignende forhold, kan vi plassere mønstermatching-settet i tredje posisjon og lukke det på torget. Søkemotoren ser først etter ‘ jeg ‘og ser deretter Etter ‘K’.
la oss utføre FØLGENDE SQL-setning
1
2
3
4
5
6
7
|
-SKRIFTLIG bruk ELLER tilstand. Det er mer som EN eller tilstand.
i utgangen kan vi se at etternavnene der det tredje tegnet er ‘I’ eller ‘k’ er oppført
bruke sql som med ‘^’ jokertegn
følgende sql-setning Viser alle radene som ikke har bokstaven som starter med a til d I det første tegnet i etternavnet. For å som plasserer tilde karakter i den første posisjonen av mønsteret. Det blir IKKE forutsetningene.
nå, hvis jeg kjører spørringen ovenfor, ser Vi at alle navnene som kommer tilbake ikke har A, B, C eller D som deres første tegn.
Ved HJELP AV SQL IKKE SOM med jokertegn
FØLGENDE SQL-setning finner alle personene der kolonnen fornavn har mer enn 3 tegn.
ved hjelp av sql som med escape-klausulen
i følgende sql-setning brukes escape-klausulen til å unnslippe tegnet»!’for å negere betydningen av’ % ‘for å finne strengen’ 100% Fri ‘ i kolonnen col1 i temp-tabellen.
1
2
3
4
5
6
7
8
9
10
11
12
|
DROP TABLE IF EXISTS temp;
CREATE TABLE temp(col1 VARCHAR(100));
GO
INSERT INTO temp
VALUES(‘ApexSQL Refactor is 100% Free SQL Formatter tool’), (‘ApexSQL Job is 10-15% off today only’);
GÅ
VELG *
FRA TEMP;
VELG *
fra temp
hvor col1 LIKER ‘ % 100!% Gratis% ‘ESCAPE’!’;
GÅ
|
utgangslisten er bare de verdiene der søkemønsteret «100% Gratis» samsvarer med col1-uttrykket.
Følgende SQL-setning trekker ut alle ansatte som har et telefonnummer formatert som tre-tre-fire sifre med bindestreker i mellom (999-999-9999). Mønsteret blir deretter sammenlignet med phonenumber kolonne for å utlede nasjonale eller internasjonale kategorier.
saksuttrykket evalueres for det spesifikke mønsteret for å utlede telefonkategoritypen.
i utgangen kan vi se at nummeret er klassifisert som innenlands eller internasjonalt. Phonenumber-kolonnen evalueres MED lignende-operatoren ved hjelp av firkantbraketten. Tallet null til ni i første tegnposisjon evalueres for matchende mønster null til ni, et hvilket som helst tall fra null til ni i andre tegnposisjon og tredje og deretter fjerde tegnposisjon må være en dash og lignende logikk brukes på resten av tegnene.
Bruke SQL SOM med dynamisk SQL
FØLGENDE SQL-setning returnerer alle ansatte der etternavnet samsvarer med mønsterbarben. Mønsteret er dynamisk opprettet og sammenlignet mot uttrykket.
merk: som standard injiserer char etterfølgende emner avhengig av lengden på feltet. Bruk RTRIM til å undertrykke de etterfølgende blankene, hvis du bruker char-datatypen.
i FØLGENDE SQL-setning er feltet @eLastName av datatypen char. Du kan se en bruk AV RTRIM-funksjonen for a trimme de bakre blankene.
Ved HJELP AV SQL Som MED EN IF-setning
følgende SQL-setning evalueres inngangsverdien for det spesifikke mønsteret i betingelsesklausulen ved HJELP AV IF-setningen.
inngangsstrengen evalueres for bestemte mønstre ved HJELP AV SQL-lignende jokertegnuttrykk og returnerer gyldig inngangsstreng.
Det er alt for nå!
Sammendrag
Så langt har vi diskutert ulike tips og fire forskjellige jokertegn ( % ,_,, og^] som er tilgjengelige MED SQL LIKE operatoren. Det er en flott søketeknikk for å matche streng av tegn med de angitte mønstrene eller hvor vi ikke er helt sikre på hva du søker aka fuzzy search. De tilgjengelige jokertegnene gjør LIKE-operatoren mer fleksibel. Jeg håper du likte denne artikkelen PÅ SQL LIKE operator I SQL Server. Føl deg fri stille spørsmål i kommentarfeltet nedenfor.
- Forfatter
- Siste Innlegg
min spesialitet ligger i å designe & implementere løsninger Med høy tilgjengelighet og DB-Migrasjon på tvers av PLATTFORMER. Teknologiene som for tiden jobber med ER SQL Server, PowerShell, Oracle og MongoDB.
Vis alle innlegg av Prashanth Jayaram
- en rask oversikt over database revisjon I SQL – januar 28, 2021
- hvordan sette opp azure Datasynkronisering mellom azure sql-Databaser Og Lokal Sql Server – 20. januar 2021
- slik utfører du import/eksport av azure sql database ved hjelp av powershell – 14. januar 2021