Fonction SUBSTRING dans SQL Server est utilisé pour extraire une sous-chaîne d'une chaîne, en commençant à une position spécifiée et avec une longueur facultative.
C'est très utile lorsque vous devez extraire une partie spécifique d'une chaîne pour un traitement ou une analyse ultérieure.
La fonction SQL SUBSTRING fonctionne également dans Base de données Azure SQL , Entrepôt de données Azure SQL , et Entrepôt de données parallèle .
Syntaxe
La syntaxe de la fonction SQL SUBSTRING est :
SUBSTRING(input_string, début, longueur);
Paramètres:
- Chaîne_d'entrée – Il peut s'agir d'une expression de caractère, binaire, texte ou image.
- Commencer - Il s'agit d'un entier définissant l'emplacement où commence la sous-chaîne renvoyée. La première position de la chaîne est 1.
- Longueur - Il s'agit d'un entier positif qui spécifie le nombre de caractères à renvoyer à partir de la sous-chaîne.
- Retour - Il renvoie une sous-chaîne d'une longueur spécifiée à partir d'un emplacement dans une chaîne d'entrée.
Exemple de fonction SQL Server SUBSTRING()
Examinons quelques exemples de la fonction SUBSTRING() dans SQL et comprenons comment l'utiliser dans SQL Server.
Exemple de fonction SQL SUBSTRING
Dans cet exemple, nous utilisons la fonction SUBSTRING dans SQL Server.
Requête:
SELECT SUBSTRING ('techcodeview.com',1,5);> Sortir:

Règles d'utilisation de la fonction SUBSTRING() dans SQL
- Les trois arguments sont requis dans la fonction SQL substring(). Si la position de départ dépasse le nombre maximum de caractères dans l'expression, la fonction substring() de SQL Server ne renvoie rien.
- La longueur totale peut dépasser la longueur maximale de caractères de la chaîne d'origine.
- Dans ce cas, la sous-chaîne résultante est la chaîne entière depuis la position de début de l'expression jusqu'au caractère de fin de l'expression.
Fonction SUBSTRING() avec des chaînes littérales
Utiliser la fonction SQL SUBSTRING avec des chaînes littérales est très simple, il suffit de mettre les valeurs souhaitées dans la syntaxe.
mise à jour de Java
Fonction SUBSTRING() avec exemple de chaînes littérales
Considérez cette commande de fonction SQL SUBSTRING :
SELECT SUBSTRING ( 'SQL In Geeksforgeeks', 7, 18 ) AS ExtractString>
Il prendra la chaîne originale « SQL In Geeksforgeeks » et extraira une sous-chaîne commençant par le 7ème caractère et extrayant une longueur de 18 caractères. Une nouvelle colonne avec l'alias ExtractString sera renvoyée avec la sous-chaîne résultante.
Pour extraire une section d'une chaîne en fonction d'une position de départ et d'une longueur prédéterminées, la fonction SUBSTRING est utilisée. La chaîne d'origine est passée comme premier argument de la fonction et le deuxième argument spécifie le caractère de départ, dans ce cas, le septième. Le troisième argument, qui comporte 18 caractères dans ce cas, spécifie la durée pendant laquelle la sous-chaîne doit être extraite.
Le but de l'utilisation de cette requête SQL est d'extraire une partie spécifique d'une chaîne plus longue nécessaire à une analyse ou à un reporting plus approfondi. Cela peut être utile lorsque nous traitons de grands ensembles de données où nous devons extraire et manipuler des informations spécifiques à partir d'une longue chaîne de texte.
Sortir

commentaire css
Fonction SUBSTRING() avec colonnes de tableau
Pour utiliser la fonction SUBSTRING() avec des colonnes de tableau, nous allons d'abord créer un tableau Détails du joueur , qui comporte trois colonnes : PlayerId, PlayerName et City. Étant donné que la colonne PlayerId est désignée comme clé primaire, chaque ligne du tableau aura un PlayerId différent comme identifiant.
Dix lignes de données sont ajoutées à la table à l'aide de l'instruction INSERT INTO après la création de la table. Alors que la colonne PlayerId sera automatiquement générée en tant qu'identifiant unique pour chaque ligne, les colonnes PlayerName et City ont des valeurs spécifiées pour chaque ligne.
Requête :
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');>
Sortir:

Fonction SUBSTRING() avec exemple de colonnes de tableau
Dans cet exemple, nous utiliserons la fonction SUBSTRING() sur une colonne de tableau.
Requête
SELECT SUBSTRING (PlayerName, 1, 3) AS ExtractString FROM Player_Details;>
Sortir

La colonne PlayerName de la sous-requête reçoit la fonction SUBSTRING, qui choisit les trois premiers caractères de chaque nom. Le résultat de cette opération de sous-chaîne est de renvoyer la colonne PlayerName de la sous-requête dans une nouvelle colonne avec l'alias ExtractString.
Utilisation de SUBSTRING sur une requête imbriquée
En supposant que vous souhaitiez utiliser la fonction SUBSTRING sur une requête imbriquée dans la table player_Details, vous pouvez utiliser le code SQL suivant
Requête
SELECT SUBSTRING (subquery.PlayerName, 1, 3) AS ShortenedName, subquery.City FROM ( SELECT * FROM Player_Details WHERE City = 'New York' ) AS subquery;>
Sortir

Rajesh Khanna
Afin de sélectionner toutes les lignes de la table Player_Details où la colonne City est égale à New York, cette requête SQL crée d'abord une requête imbriquée. Une table dérivée ou une sous-requête contenant les résultats de cette requête imbriquée est ensuite utilisée comme entrée pour la fonction SUBSTRING.
La colonne PlayerName de la sous-requête reçoit la fonction SUBSTRING, qui choisit les trois premiers caractères de chaque nom. Le résultat de cette opération de sous-chaîne est ensuite renvoyé avec la colonne City de la sous-requête dans une nouvelle colonne avec l'alias ShortenedName.
Fonction importante à propos de la fonction SQL SUBSTRING
- La fonction SUBSTRING() extrait une sous-chaîne d'une chaîne, en commençant à une position spécifiée et avec une longueur facultative.
- Il peut être utilisé avec des chaînes littérales ou des colonnes dans un tableau.
- Le GAUCHE() et DROITE() les fonctions sont également une implémentation de la fonction SUBSTRING().
- L'utilisation de SUBSTRING() dans la clause WHERE a un impact négatif sur les performances de la requête, car la fonction sera exécutée pour chaque ligne.