SQL Server propose diverses fonctions de découpage et de manipulation de chaînes de caractères pour aider les développeurs et les administrateurs de bases de données. Une de ces fonctions est la fonction STRING_SPLIT, qui a été introduite dans SQL Server 2016. Dans cet article, nous explorerons en détail la fonction STRING_SPLIT et discuterons de ses concepts d’utilisation.
Syntaxe
La syntaxe de la fonction STRING_SPLIT est simple. Elle prend deux paramètres : une chaîne de caractères et un séparateur.
STRING_SPLIT(chaine, séparateur)
Utilisation de base
Commençons par un exemple simple. Supposons que nous ayons une chaîne de caractères contenant une liste de fruits séparés par des virgules :
'pomme,banane,citron,kiwi,orange,noix de coco'
Nous pouvons utiliser la fonction STRING_SPLIT pour convertir cette chaîne en valeurs individuelles :
SELECT value FROM STRING_SPLIT('pomme,banane,citron,kiwi,orange,noix de coco', ',')
Cela renverra le résultat suivant :
valeur
------
pomme
banane
citron
kiwi
orange
noix de coco
Niveau de compatibilité
Il est important de noter que la fonction STRING_SPLIT est uniquement disponible dans SQL Server 2016 et les versions ultérieures. Si vous utilisez une version antérieure, cette fonction ne sera pas prise en charge.
Filtrage avec la clause WHERE
Nous pouvons également filtrer le jeu de résultats de la fonction STRING_SPLIT en utilisant la clause WHERE. Par exemple, si nous voulons récupérer uniquement les valeurs commençant par “ci”, nous pouvons utiliser la requête suivante :
SELECT value FROM STRING_SPLIT('pomme,banane,citron,kiwi,orange,noix de coco', ',') WHERE value LIKE 'ci%'
Cela renverra le résultat suivant :
valeur
------
citron
Tri avec ORDER BY
Tout comme les autres instructions T-SQL, nous pouvons également trier la sortie de la fonction STRING_SPLIT. Par exemple, si nous voulons trier les valeurs par ordre croissant, nous pouvons utiliser la requête suivante :
SELECT value FROM STRING_SPLIT('pomme,banane,citron,kiwi,orange,noix de coco', ',') ORDER BY value
Cela renverra le résultat suivant :
valeur
------
pomme
banane
citron
kiwi
noix de coco
orange
Jointure avec d’autres tables
Nous pouvons combiner le jeu de résultats de la fonction STRING_SPLIT avec d’autres tables en utilisant la clause JOIN. Par exemple, supposons que nous ayons une table appelée “Personne” avec une colonne appelée “Prénom”. Nous pouvons joindre cette table avec le jeu de résultats de la fonction STRING_SPLIT pour récupérer les enregistrements correspondants :
SELECT P.Prénom FROM Personne P INNER JOIN STRING_SPLIT('Ken,Terri,Gail', ',') ON P.Prénom = value
Cela renverra les prénoms correspondants de la table “Personne”.
Conclusion
La fonction STRING_SPLIT dans SQL Server est un outil puissant pour convertir des tableaux de chaînes de caractères en colonnes. Elle offre une syntaxe simple et divers concepts d’utilisation, tels que le filtrage, le tri et la jointure avec d’autres tables. En comprenant et en utilisant cette fonction de manière efficace, les développeurs et les administrateurs de bases de données peuvent améliorer les performances de leurs requêtes.