I denne guiden vil vi imidlertid se på hvordan du utfører vanlige uttrykksspørsmål i T-SQL ved å bruke lignende og ikke som operatører.
Merk: Regelmessige uttrykk er et omfattende tema og kan ikke være utmattet i en enkelt tutorial. I stedet vil vi fokusere på mest kommando og nyttig regex du kan bruke i din daglige databaseoperasjon.
I T-SQL kan vi definere vanlige uttrykk ved å bruke lignende operatør. Operatøren vil ta det samsvarende uttrykket og finne alle matchende mønstre.
Det er forskjellige typer vanlige uttrykk i SQL Server:
La oss forstå hvordan vi kan definere vanlig uttrykk i SQL Server.
SQL Server Regular Expressions Eksempler
La oss forstå hvordan vi bruker vanlige uttrykk i SQL Server ved hjelp av praktiske eksempler. I denne artikkelen vil vi bruke SalesDB -eksempeldatabasen.
Du kan laste ned eksempeldatabasen fra følgende ressurs:
Eksempel 1
Følgende eksempel på spørring bruker et vanlig uttrykk for å finne navnet på produkter, og starter med bokstaven L:
Bruk SalesDB;Den forrige spørringen skal finne de samsvarende mønstrene og returnere resultatet som vist:
Eksempel 2
Vi filtrerer for matchende produkter i eksemplet over, og starter med bokstaven l. For å filtrere for første og andre bokstaver, kan vi gjøre følgende:
Velg navn fra produkter der navn som '[l] [o]%';Spørringen skal returnere navnene på produktene som begynner med LO. Det resulterende settet vises som:
Eksempel 3
For å filtrere for over to bokstaver, spesifiser hver bokstav i firkantede parenteser som vist:
Velg navn fra produkter der navn som '[l] [o] [c] [k]%';Det resulterende settet vises som:
Eksempel 4
Anta at du vil filtrere for produkter som samsvarer med et spesifikt strengområde. For eksempel produkter som starter med tegn mellom L - P:
Velg navn fra produkter der navn som '[L-P]%';Det resulterende settet er som vist:
Eksempel 5
Du kan også filtrere for flere matchende forhold i en enkelt spørring som vist:
Velg navn fra produkter der navn som '[l-p] [a-o]%';Et eksempel på resultatet er som:
Eksempel 6
Anta at du vil få produkter til å ende med en spesifikk karakter? I dette tilfellet kan du endre posisjonen til prosentandelen som vist:
Velg navn fra produkter der navn som '%[PE]';Resultatene er som vist:
Eksempel 7
For å filtrere for å resultere i start og avslutte med de spesifiserte tegnene, kan du kjøre spørringen som:
Velg * fra produkter der navn som '[til]%[re]';Spørringen ovenfor skal returnere et resultat satt som:
Eksempel 8
Hva om du vil ekskludere spesifikke tegn fra filterspørsmålet? Du kan bruke ^ å ekskludere karakterene.
For å få alle produktene som starter med alle andre tegn bortsett fra A til M, kan vi for eksempel gjøre følgende:
Velg * fra produkter der navn som '[^a-m]%';Resultatene bør ekskludere bokstaven A til M.
Eksempel 9
Anta at du vil finne produktene der navnet inneholder et tall? Vi kan kjøre et spørsmål som vist:
Velg * fra produkter der navn som '%[0-9]';Resultatet skal være som vist:
Merk: Du kan bruke den ikke som operatøren til å negere resultatet av det vanlige uttrykket.
Konklusjon
I denne artikkelen lærte du hvordan du bruker vanlige uttrykk i SQL Server ved hjelp av lignende operatør. Vi håper du fant denne artikkelen nyttig. Sjekk ut flere Linux -hint -artikler for tips og informasjon, så kan du lære mer om Regex i SQL Server Docs.