SUBSTRING-Funktion in SQL Server wird verwendet, um einen Teilstring aus einem String zu extrahieren, beginnend an einer angegebenen Position und mit einer optionalen Länge.
Dies ist sehr nützlich, wenn Sie einen bestimmten Teil einer Zeichenfolge zur weiteren Verarbeitung oder Analyse extrahieren müssen.
Die SQL SUBSTRING-Funktion funktioniert auch in Azure SQL-Datenbank , Azure SQL Data Warehouse , Und Paralleles Data Warehouse .
Syntax
Die Syntax der SQL SUBSTRING-Funktion lautet:
SUBSTRING(input_string, start, length);
Parameter:
- Eingabezeichenfolge – Es kann sich um einen Zeichen-, Binär-, Text- oder Bildausdruck handeln.
- Start - Es handelt sich um eine Ganzzahl, die die Position definiert, an der die zurückgegebene Teilzeichenfolge beginnt. Die erste Position in der Zeichenfolge ist 1.
- Länge - Es handelt sich um eine positive Ganzzahl, die die Anzahl der Zeichen angibt, die von der Teilzeichenfolge zurückgegeben werden sollen.
- Kehrt zurück - Es gibt eine Teilzeichenfolge mit einer angegebenen Länge zurück, beginnend an einer Position in einer Eingabezeichenfolge.
Beispiel für die SQL Server SUBSTRING()-Funktion
Schauen wir uns einige Beispiele der SUBSTRING()-Funktion in SQL an und verstehen, wie man sie in SQL Server verwendet.
Beispiel für eine SQL SUBSTRING-Funktion
In diesem Beispiel verwenden wir die SUBSTRING-Funktion in SQL Server.
Abfrage:
SELECT SUBSTRING ('techcodeview.com',1,5);> Ausgabe:

Regeln für die Verwendung der SUBSTRING()-Funktion in SQL
- Alle drei Argumente sind in der SQL-Funktion substring() erforderlich. Wenn die Startposition die maximale Anzahl von Zeichen im Ausdruck überschreitet, gibt die SQL Server-Funktion substring() nichts zurück.
- Die Gesamtlänge kann die maximale Zeichenlänge der Originalzeichenfolge überschreiten.
- In diesem Fall ist die resultierende Teilzeichenfolge die gesamte Zeichenfolge von der Startposition des Ausdrucks bis zum Endzeichen des Ausdrucks.
SUBSTRING()-Funktion mit Literal-Strings
Die Verwendung der SQL SUBSTRING-Funktion mit Literalzeichenfolgen ist sehr einfach. Geben Sie einfach die gewünschten Werte in die Syntax ein.
Java-Webdienste
Beispiel für eine SUBSTRING()-Funktion mit Literalzeichenfolgen
Betrachten Sie diesen SQL SUBSTRING-Funktionsbefehl:
SELECT SUBSTRING ( 'SQL In Geeksforgeeks', 7, 18 ) AS ExtractString>
Es wird die Originalzeichenfolge „SQL In Geeksforgeeks“ nehmen und eine Teilzeichenfolge extrahieren, die mit dem 7. Zeichen beginnt und eine Länge von 18 Zeichen hat. Eine neue Spalte mit dem Alias ExtractString wird zusammen mit der resultierenden Teilzeichenfolge zurückgegeben.
Um einen Abschnitt einer Zeichenfolge basierend auf einer vorgegebenen Startposition und Länge zu extrahieren, wird die SUBSTRING-Funktion verwendet. Der ursprüngliche String wird als erstes Argument der Funktion übergeben und das zweite Argument gibt das Startzeichen an, in diesem Fall das siebte. Das dritte Argument, das in diesem Fall 18 Zeichen umfasst, gibt an, wie lange der Teilstring extrahiert werden soll.
Der Zweck dieser SQL-Abfrage besteht darin, einen bestimmten Teil einer längeren Zeichenfolge zu extrahieren, der für weitere Analysen oder Berichte benötigt wird. Dies kann nützlich sein, wenn wir mit großen Datensätzen arbeiten, bei denen wir bestimmte Informationen aus einer langen Textfolge extrahieren und bearbeiten müssen.
Ausgabe

SUBSTRING()-Funktion mit Tabellenspalten
Um die Funktion SUBSTRING() mit Tabellenspalten zu verwenden, erstellen wir zunächst eine Tabelle Spielerdetails , die drei Spalten hat: PlayerId, PlayerName und City. Da die PlayerId-Spalte als Primärschlüssel festgelegt ist, hat jede Zeile in der Tabelle eine andere PlayerId als Kennung.
Nachdem die Tabelle erstellt wurde, werden der Tabelle mithilfe der INSERT INTO-Anweisung zehn Datenzeilen hinzugefügt. Während die Spalte „PlayerId“ automatisch als eindeutige Kennung für jede Zeile generiert wird, sind in den Spalten „PlayerName“ und „City“ Werte für jede Zeile angegeben.
Abfrage :
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');>
Ausgabe:
Objekt zu jsonobject Java

Beispiel für eine SUBSTRING()-Funktion mit Tabellenspalten
In diesem Beispiel verwenden wir die Funktion SUBSTRING() für eine Tabellenspalte.
Abfrage
10 ml bis oz
SELECT SUBSTRING (PlayerName, 1, 3) AS ExtractString FROM Player_Details;>
Ausgabe

Die PlayerName-Spalte in der Unterabfrage empfängt die SUBSTRING-Funktion, die die ersten drei Zeichen jedes Namens auswählt. Das Ergebnis dieser Teilzeichenfolgenoperation besteht darin, die PlayerName-Spalte aus der Unterabfrage in einer neuen Spalte mit dem Alias ExtractString zurückzugeben.
Verwenden von SUBSTRING für verschachtelte Abfragen
Angenommen, Sie möchten die SUBSTRING-Funktion für eine verschachtelte Abfrage innerhalb der Tabelle „player_Details“ verwenden, könnten Sie den folgenden SQL-Code verwenden
Abfrage
SELECT SUBSTRING (subquery.PlayerName, 1, 3) AS ShortenedName, subquery.City FROM ( SELECT * FROM Player_Details WHERE City = 'New York' ) AS subquery;>
Ausgabe

Um alle Zeilen aus der Tabelle „Player_Details“ auszuwählen, in denen die Spalte „Stadt“ New York entspricht, erstellt diese SQL-Abfrage zunächst eine verschachtelte Abfrage. Eine abgeleitete Tabelle oder Unterabfrage, die die Ergebnisse dieser verschachtelten Abfrage enthält, wird dann als Eingabe für die SUBSTRING-Funktion verwendet.
Die PlayerName-Spalte in der Unterabfrage empfängt die SUBSTRING-Funktion, die die ersten drei Zeichen jedes Namens auswählt. Das Ergebnis dieser Teilzeichenfolgenoperation wird dann zusammen mit der Spalte „Stadt“ aus der Unterabfrage in einer neuen Spalte mit dem Alias „ShortenedName“ zurückgegeben.
Wichtige Funktion zur SQL SUBSTRING-Funktion
- Die Funktion SUBSTRING() extrahiert einen Teilstring aus einem String, beginnend an einer angegebenen Position und mit einer optionalen Länge.
- Es kann mit Literalzeichenfolgen oder Spalten in einer Tabelle verwendet werden.
- Der LINKS() Und RECHTS() Funktionen sind auch Implementierungen der SUBSTRING()-Funktion.
- Die Verwendung von SUBSTRING() in der WHERE-Klausel wirkt sich negativ auf die Abfrageleistung aus, da die Funktion für jede Zeile ausgeführt wird.