SQL Server SUBSTRING() Funktion
SUBSTRING-funktion i SQL Server bruges til at udtrække en understreng fra en streng, startende ved en specificeret position og med en valgfri længde.
Det er meget nyttigt, når du skal udtrække en bestemt del af en streng til yderligere behandling eller analyse.
SQL SUBSTRING-funktionen fungerer også i Azure SQL-database , Azure SQL Data Warehouse , og Parallel Data Warehouse .
Syntaks
Syntaksen for SQL SUBSTRING-funktionen er:
SUBSTRING(input_streng, start, længde);
Parametre:
- Input_string – Det kan være et tegn-, binær-, tekst- eller billedudtryk.
- Start - Det er et heltal, der definerer det sted, hvor den returnerede understreng starter. Den første position i strengen er 1.
- Længde – Det er et positivt heltal, der angiver antallet af tegn, der skal returneres fra understrengen.
- Vender tilbage - Det returnerer en understreng med en specificeret længde startende fra en placering i en inputstreng.
SQL Server SUBSTRING() funktionseksempel
Lad os se på nogle eksempler på SUBSTRING()-funktionen i SQL og forstå, hvordan man bruger den i SQL-server.
Eksempel på SQL SUBSTRING-funktion
I dette eksempel bruger vi SUBSTRING-funktionen i SQL Server.
Forespørgsel:
SELECT SUBSTRING ('techcodeview.com',1,5); Produktion:
Regler for brug af SUBSTRING()-funktionen i SQL
- Alle tre argumenter er påkrævet i SQL substring()-funktionen. Hvis startpositionen overstiger det maksimale antal tegn i udtrykket, returnerer SQL Server substring()-funktionen intet.
- Den samlede længde kan overstige den maksimale tegnlængde for den originale streng.
- I dette tilfælde er den resulterende understreng hele strengen fra udtrykkets startposition til udtrykkets sluttegn.
SUBSTRING() Funktion med bogstavelige strenge
Det er meget nemt at bruge SQL SUBSTRING-funktionen med bogstavelige strenge, bare indsæt de ønskede værdier i syntaksen.
SUBSTRING() Funktion med bogstavelige strenge Eksempel
Overvej denne SQL SUBSTRING-funktionskommando:
SELECT SUBSTRING ( 'SQL In Geeksforgeeks', 7, 18 ) AS ExtractString
Det vil tage den originale streng 'SQL In Geeksforgeeks' og udtrække en understreng, der begynder med det 7. tegn og udtrækker en længde på 18 tegn. En ny kolonne med aliaset ExtractString vil blive returneret sammen med den resulterende understreng.
For at udtrække en sektion af en streng baseret på en forudbestemt startposition og længde, bruges SUBSTRING-funktionen. Den oprindelige streng sendes som funktionens første argument, og det andet argument angiver starttegnet, i dette tilfælde det syvende. Det tredje argument, som er på 18 tegn i dette tilfælde, angiver, hvor lang tid understrengen skal udtrækkes.
Formålet med at bruge denne SQL-forespørgsel er at udtrække en specifik del af en længere streng, der er nødvendig for yderligere analyse eller rapportering. Det kan være nyttigt, når vi har at gøre med store datasæt, hvor vi skal udtrække og manipulere specifik information fra en lang tekststreng.
Produktion
SUBSTRING() Funktion med tabelkolonner
For at bruge SUBSTRING()-funktionen med tabelkolonner vil vi først oprette en tabel Player_Details , som har tre kolonner: PlayerId, PlayerName og City. Da kolonnen PlayerId er udpeget som den primære nøgle, vil hver række i tabellen have et andet PlayerId som sin identifikator.
Ti rækker med data tilføjes til tabellen ved hjælp af INSERT INTO-sætningen, efter at tabellen er blevet oprettet. Mens kolonnen PlayerId automatisk genereres som en unik identifikator for hver række, har kolonnerne PlayerName og City værdier angivet for hver række.
Forespørgsel:
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');
Produktion:
SUBSTRING()-funktion med tabelkolonner Eksempel
I dette eksempel vil vi bruge funktionen SUBSTRING() på en tabelkolonne.
Forespørgsel
SELECT SUBSTRING (PlayerName, 1, 3) AS ExtractString FROM Player_Details;
Produktion
Kolonnen PlayerName i underforespørgslen modtager funktionen SUBSTRING, som vælger de første tre tegn i hvert navn. Resultatet af denne understrengsoperation er at returnere kolonnen PlayerName fra underforespørgslen i en ny kolonne med aliaset ExtractString.
Brug af SUBSTRING på indlejrede forespørgsler
Hvis du antager, at du vil bruge SUBSTRING-funktionen på en indlejret forespørgsel i tabellen player_Details, kan du bruge følgende SQL-kode
Forespørgsel
SELECT SUBSTRING (subquery.PlayerName, 1, 3) AS ShortenedName, subquery.City FROM ( SELECT * FROM Player_Details WHERE City = 'New York' ) AS subquery;
Produktion
For at vælge alle rækker fra tabellen Player_Details, hvor kolonnen By er lig med New York, opretter denne SQL-forespørgsel først en indlejret forespørgsel. En afledt tabel eller underforespørgsel, der indeholder resultaterne af denne indlejrede forespørgsel, bruges derefter som input til SUBSTRING-funktionen.
Kolonnen PlayerName i underforespørgslen modtager funktionen SUBSTRING, som vælger de første tre tegn i hvert navn. Resultatet af denne understrengsoperation returneres derefter sammen med kolonnen By fra underforespørgslen i en ny kolonne med aliaset ShortenedName.
Vigtig funktion om SQL SUBSTRING-funktionen
- SUBSTRING()-funktionen udtrækker en understreng fra en streng, startende ved en specificeret position og med en valgfri længde.
- Det kan bruges med bogstavelige strenge eller kolonner i en tabel.
- Det VENSTRE() og HØJRE() funktioner er også implementering af SUBSTRING() funktion.
- Brug af SUBSTRING() i WHERE-sætningen påvirker forespørgselsydeevnen negativt, da funktionen vil blive udført for hver række.