logo

SQL Server SUBSTRING()-funksjon

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:

eksempel på delstrengfunksjon

Regler for bruk av SUBSTRING()-funksjonen i SQL

  1. Alle tre argumentene kreves i SQL substring()-funksjonen. Hvis startposisjonen overskrider maksimalt antall tegn i uttrykket, returnerer SQL Server substring()-funksjonen ingenting.
  2. Den totale lengden kan overstige den maksimale tegnlengden til den originale strengen.
  3. 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 eksempelutgang for bokstavelige strenger

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:

tabell opprettet

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

substring()-funksjon med eksempelutgang for tabellkolonner

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

img

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.