Maison >base de données >tutoriel mysql >Comment concaténer des lignes dans une chaîne délimitée par des virgules dans Microsoft SQL Server ?

Comment concaténer des lignes dans une chaîne délimitée par des virgules dans Microsoft SQL Server ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-16 23:37:12908parcourir

How to Concatenate Rows into a Comma-Delimited String in Microsoft SQL Server?

Concaténer des lignes en une chaîne séparée par des virgules

Une tâche courante pour les utilisateurs de bases de données utilisant Microsoft SQL Server consiste à fusionner plusieurs lignes en une seule chaîne séparée par des virgules. Cela simplifie la manipulation des données et permet un traitement simple.

Question :

Comment pouvons-nous récupérer une chaîne séparée par des virgules à partir d'un ensemble de lignes à l'aide de Microsoft SQL Server ?

Solution :

Microsoft SQL Server propose deux méthodes puissantes à cet effet : STUFF et FOR XML. La requête suivante montre comment les utiliser efficacement :

<code class="language-sql">SELECT STUFF((
    SELECT ',' + Name
    FROM @T
    FOR XML PATH('')
), 1, 1, '') AS [output];</code>

Explication :

  • STUFF : La fonction STUFF() insère la chaîne spécifiée dans une autre chaîne à la position donnée.
  • FOR XML PATH ('') : La clause FOR XML PATH ('') crée une représentation XML des données, où chaque ligne est représentée comme un élément. Le paramètre de chaîne vide garantit qu'aucun balisage XML n'est généré, ce qui le rend adapté à la création de listes séparées par des virgules.

En combinant ces techniques, la requête concatène progressivement les noms avec des virgules, ce qui donne une seule chaîne séparée par des virgules.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn