Couper une chaîne de caractère après un caractère avec SQL Server




En SQL, sous SQL-Server 2008 ou 2012 par exemple ou T-SQL, comment découper une chaîne de caractère après un caractère particulier, comme par exemple un nom de fichier : « fichier.txt » pour séparer le nom du fichier de son extension. Il est évident que découper une chaîne juste avant le caractère « . » doit se faire de manière dynamique, c’est à dire quelle que soit la position du caractère. Pour découper une chaîne de caractères en T-SQL sous SQL Server 2008 ou SQL Server 2012 juste après un certain caractère on peut utiliser les fonctions SQL substring(), charindex() et len().

Un exemple de code pour découper facilement une chaîne de caractère juste après un caractère.Cet exemple n’est pas récursif, mais pour le rendre récursif il suffit d’intégrer la logique dans une boucle et d’ajuster la variable qui contient la position dans la chaîne principale.

 

Comment découper dynamiquement une chaîne de caractère après après un caractère définit ?

Exemple de code SQL pour découper un texte après un caractère sous SQL Server 2008 ou 2012 :

— Déclaration des variables utilisées comme chaine de départ, chaine de résultat et le caractère utilisédeclare @ChaineDepart nvarchar(100)    declare @Resultat nvarchar(100)declare @Caractere nvarchar(10)
— Définition de la chaîne de caractèreset @ChaineDepart = ‘DEBUT_DE_CHAINE.FIN_DE_CHAINE’
— Définition du caractère ou de la chaîne de caractère à chercher pour couper la chaîne en deuxset @Caractere = ‘.’
set @Resultat = substring(@ChaineDepart,CHARINDEX(@Caractere, @ChaineDepart)+1,len(@ChaineDepart))
select @ChaineDepart as ‘Chaine de Départ’select @Resultat as ‘Chaine de Résultat’

 

 

Voici un exemple pour découper une chaîne de caractère de manière récursive sous SQL Server avec le langage T-SQL. 

 




Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*