logo

Fonction SUBSTRING() de SQL Server

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:

exemple de fonction de sous-chaîne

Règles d'utilisation de la fonction SUBSTRING() dans SQL

  1. 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.
  2. La longueur totale peut dépasser la longueur maximale de caractères de la chaîne d'origine.
  3. 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

Fonction substring() avec exemple de sortie de chaînes littérales

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:

tableau créé

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

Fonction substring() avec exemple de sortie de colonnes de tableau

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

img

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.