SUBSTRING-funksjon i SQL Server brukes til å trekke ut en delstreng fra en streng, med start på en spesifisert posisjon og med en valgfri lengde.
Det er veldig nyttig når du trenger å trekke ut en bestemt del av en streng for videre behandling eller analyse.
SQL SUBSTRING-funksjonen fungerer også i Azure SQL-database , Azure SQL Data Warehouse , og Parallelt datavarehus .
Syntaks
Syntaksen for SQL SUBSTRING-funksjonen er:
SUBSTRING(inndatastreng, start, lengde);
Parametere:
- Input_string – Det kan være et tegn-, binær-, tekst- eller bildeuttrykk.
- Start - Det er et heltall som definerer plasseringen der den returnerte delstrengen starter. Den første posisjonen i strengen er 1.
- Lengde – Det er et positivt heltall som spesifiserer antall tegn som skal returneres fra delstrengen.
- Returer – Den returnerer en delstreng med en spesifisert lengde fra en plassering i en inndatastreng.
SQL Server SUBSTRING()-funksjonseksempel
La oss se på noen eksempler på SUBSTRING()-funksjonen i SQL og forstå hvordan du bruker den i SQL-serveren.
SQL SUBSTRING-funksjon Eksempel
I dette eksemplet bruker vi SUBSTRING-funksjonen i SQL Server.
Spørsmål:
SELECT SUBSTRING ('techcodeview.com',1,5);> Produksjon:

Regler for bruk av SUBSTRING()-funksjonen i SQL
- Alle tre argumentene kreves i SQL substring()-funksjonen. Hvis startposisjonen overskrider maksimalt antall tegn i uttrykket, returnerer SQL Server substring()-funksjonen ingenting.
- Den totale lengden kan overstige den maksimale tegnlengden til den originale strengen.
- I dette tilfellet er den resulterende delstrengen hele strengen fra uttrykkets startposisjon til uttrykkets slutttegnet.
SUBSTRING()-funksjon med bokstavelige strenger
Å bruke SQL SUBSTRING-funksjonen med bokstavelige strenger er veldig enkelt, bare legg inn de ønskede verdiene i syntaksen.
mylivecricket alternativ
SUBSTRING()-funksjon med bokstavelige strenger Eksempel
Tenk på denne SQL SUBSTRING-funksjonskommandoen:
avinstaller angular cli
SELECT SUBSTRING ( 'SQL In Geeksforgeeks', 7, 18 ) AS ExtractString>
Den tar den originale strengen 'SQL In Geeksforgeeks' og trekker ut en understreng som begynner med det syvende tegnet og trekker ut en lengde på 18 tegn. En ny kolonne med aliaset ExtractString vil bli returnert sammen med den resulterende delstrengen.
For å trekke ut en del av en streng basert på en forhåndsbestemt startposisjon og lengde, brukes SUBSTRING-funksjonen. Den opprinnelige strengen sendes som funksjonens første argument, og det andre argumentet spesifiserer starttegnet, i dette tilfellet det syvende. Det tredje argumentet, som er på 18 tegn i dette tilfellet, spesifiserer hvor lenge delstrengen skal trekkes ut.
Hensikten med å bruke denne SQL-spørringen er å trekke ut en spesifikk del av en lengre streng som er nødvendig for videre analyse eller rapportering. Det kan være nyttig når vi arbeider med store datasett der vi trenger å trekke ut og manipulere spesifikk informasjon fra en lang tekststreng.
Produksjon

SUBSTRING()-funksjon med tabellkolonner
For å bruke SUBSTRING()-funksjonen med tabellkolonner vil vi først lage en tabell Player_Details , som har tre kolonner: PlayerId, PlayerName og City. Siden PlayerId-kolonnen er utpekt som primærnøkkelen, vil hver rad i tabellen ha en annen PlayerId som identifikator.
Ti rader med data legges til tabellen ved hjelp av INSERT INTO-setningen etter at tabellen er opprettet. Mens PlayerId-kolonnen genereres automatisk som en unik identifikator for hver rad, har kolonnene PlayerName og City verdier spesifisert for hver rad.
Spørring:
CREATE TABLE Player_Details ( PlayerId INT PRIMARY KEY , PlayerName VARCHAR(50), City VARCHAR(50) ); INSERT INTO Player_Details (PlayerId, PlayerName, City) VALUES (1,'John', 'New York'), (2,'Sarah', 'Los Angeles'), (3,'David', 'Chicago'), (4,'Emily', 'Houston'), (5,'Michael', 'Phoenix'), (6,'Ava', 'Philadelphia'), (7,'Joshua', 'San Antonio'), (8,'Sophia', 'San Diego'), (9,'Daniel', 'Dallas'), (10,'Olivia', 'San Jose');>
Produksjon:

SUBSTRING()-funksjon med tabellkolonner Eksempel
I dette eksemplet vil vi bruke SUBSTRING()-funksjonen på en tabellkolonne.
Spørsmål
SELECT SUBSTRING (PlayerName, 1, 3) AS ExtractString FROM Player_Details;>
Produksjon

understreng i java
Spillernavn-kolonnen i underspørringen mottar SUBSTRING-funksjonen, som velger de tre første tegnene i hvert navn. Resultatet av denne understrengoperasjonen er å returnere PlayerName-kolonnen fra underspørringen i en ny kolonne med aliaset ExtractString.
Bruker SUBSTRING på Nested Queries
Forutsatt at du vil bruke SUBSTRING-funksjonen på en nestet spørring i player_Details-tabellen, kan du bruke følgende SQL-kode
Spørsmål
SELECT SUBSTRING (subquery.PlayerName, 1, 3) AS ShortenedName, subquery.City FROM ( SELECT * FROM Player_Details WHERE City = 'New York' ) AS subquery;>
Produksjon

For å velge alle rader fra Player_Details-tabellen der By-kolonnen er lik New York, oppretter denne SQL-spørringen først en nestet spørring. En avledet tabell eller underspørring som inneholder resultatene av denne nestede spørringen, brukes deretter som input for SUBSTRING-funksjonen.
Spillernavn-kolonnen i underspørringen mottar SUBSTRING-funksjonen, som velger de tre første tegnene i hvert navn. Utfallet av denne delstrengoperasjonen returneres deretter ved siden av By-kolonnen fra underspørringen i en ny kolonne med aliaset ShortenedName.
Viktig funksjon om SQL SUBSTRING-funksjonen
- SUBSTRING()-funksjonen trekker ut en delstreng fra en streng, og starter på en spesifisert posisjon og med en valgfri lengde.
- Den kan brukes med bokstavelige strenger eller kolonner i en tabell.
- De VENSTRE() og IKKE SANT() funksjoner er også implementering av SUBSTRING()-funksjonen.
- Bruk av SUBSTRING() i WHERE-leddet påvirker søkeytelsen negativt, ettersom funksjonen vil bli utført for hver rad.