SUBSTRING-funktion i SQL Server används för att extrahera en delsträng från en sträng, med start vid en angiven position och med en valfri längd.
Det är mycket användbart när du behöver extrahera en specifik del av en sträng för vidare bearbetning eller analys.
SQL SUBSTRING-funktionen fungerar också i Azure SQL-databas , Azure SQL Data Warehouse , och Parallell Data Warehouse .
Syntax
Syntaxen för SQL SUBSTRING-funktionen är:
SUBSTRING(ingångssträng, start, längd);
Parametrar:
- Input_string – Det kan vara ett tecken-, binär-, text- eller bilduttryck.
- Start - Det är ett heltal som definierar platsen där den returnerade delsträngen börjar. Den första positionen i strängen är 1.
- Längd – Det är ett positivt heltal som anger antalet tecken som ska returneras från delsträngen.
- Returer – Den returnerar en delsträng med en specificerad längd från en plats i en inmatningssträng.
SQL Server SUBSTRING() Funktionsexempel
Låt oss titta på några exempel på SUBSTRING()-funktionen i SQL och förstå hur man använder den i SQL-server.
Exempel på SQL SUBSTRING-funktion
I det här exemplet använder vi funktionen SUBSTRING i SQL Server.
Fråga:
SELECT SUBSTRING ('techcodeview.com',1,5);> Produktion:

Regler för att använda SUBSTRING()-funktionen i SQL
- Alla tre argumenten krävs i SQL substring()-funktionen. Om startpositionen överstiger det maximala antalet tecken i uttrycket returnerar SQL Server-substring()-funktionen ingenting.
- Den totala längden kan överstiga den maximala teckenlängden för originalsträngen.
- I det här fallet är den resulterande delsträngen hela strängen från uttryckets startposition till uttryckets sluttecknet.
SUBSTRING() Funktion med bokstavliga strängar
Att använda SQL SUBSTRING-funktionen med bokstavliga strängar är mycket enkelt, lägg bara de önskade värdena i syntaxen.
referera datatyper i java
SUBSTRING() Funktion med bokstavliga strängar Exempel
Tänk på det här SQL SUBSTRING-funktionskommandot:
SELECT SUBSTRING ( 'SQL In Geeksforgeeks', 7, 18 ) AS ExtractString>
Det kommer att ta den ursprungliga strängen 'SQL In Geeksforgeeks' och extrahera en delsträng som börjar med det 7:e tecknet och extraherar en längd på 18 tecken. En ny kolumn med aliaset ExtractString kommer att returneras tillsammans med den resulterande delsträngen.
java int till char
För att extrahera en sektion av en sträng baserat på en förutbestämd startposition och längd, används SUBSTRING-funktionen. Den ursprungliga strängen skickas som funktionens första argument, och det andra argumentet anger starttecknet, i det här fallet det sjunde. Det tredje argumentet, som är 18 tecken i det här fallet, anger hur lång delsträngen som ska extraheras.
Syftet med att använda denna SQL-fråga är att extrahera en specifik del av en längre sträng som behövs för ytterligare analys eller rapportering. Det kan vara användbart när vi har att göra med stora datamängder där vi behöver extrahera och manipulera specifik information från en lång textsträng.
Produktion

SUBSTRING() Funktion med tabellkolumner
För att använda funktionen SUBSTRING() med tabellkolumner skapar vi först en tabell Spelare_detaljer , som har tre kolumner: PlayerId, PlayerName och City. Eftersom kolumnen PlayerId är utsedd som primärnyckel kommer varje rad i tabellen att ha ett annat PlayerId som identifierare.
Tio rader med data läggs till i tabellen med hjälp av INSERT INTO-satsen efter att tabellen har skapats. Spelar-ID-kolumnen kommer att genereras automatiskt som en unik identifierare för varje rad, men kolumnerna Spelarnamn och Stad har värden specificerade för varje rad.
Fråga:
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 tabellkolumner Exempel
I det här exemplet kommer vi att använda funktionen SUBSTRING() i en tabellkolumn.
Fråga
SELECT SUBSTRING (PlayerName, 1, 3) AS ExtractString FROM Player_Details;>
Produktion

Kolumnen PlayerName i underfrågan får funktionen SUBSTRING, som väljer de tre första tecknen i varje namn. Resultatet av denna delsträngsoperation är att returnera kolumnen PlayerName från underfrågan i en ny kolumn med aliaset ExtractString.
dolda appar på den här enheten
Använder SUBSTRING på en kapslad sökning
Om du antar att du vill använda SUBSTRING-funktionen på en kapslad fråga i tabellen player_Details, kan du använda följande SQL-kod
Fråga
SELECT SUBSTRING (subquery.PlayerName, 1, 3) AS ShortenedName, subquery.City FROM ( SELECT * FROM Player_Details WHERE City = 'New York' ) AS subquery;>
Produktion

För att kunna välja alla rader från tabellen Player_Details där kolumnen Stad är lika med New York, skapar denna SQL-fråga först en kapslad fråga. En härledd tabell eller underfråga som innehåller resultaten av denna kapslade fråga används sedan som indata för SUBSTRING-funktionen.
Kolumnen PlayerName i underfrågan får funktionen SUBSTRING, som väljer de tre första tecknen i varje namn. Resultatet av denna delsträngsoperation returneras sedan tillsammans med kolumnen Stad från underfrågan i en ny kolumn med aliaset ShortenedName.
Viktig funktion om SQL SUBSTRING-funktionen
- Funktionen SUBSTRING() extraherar en delsträng från en sträng, med början vid en angiven position och med en valfri längd.
- Den kan användas med bokstavliga strängar eller kolumner i en tabell.
- De VÄNSTER() och HÖGER() funktioner är också implementeringar av SUBSTRING()-funktionen.
- Att använda SUBSTRING() i WHERE-satsen påverkar frågans prestanda negativt, eftersom funktionen kommer att exekveras för varje rad.