Maison >base de données >tutoriel mysql >Comment convertir les lignes d'une table SQL Server en une chaîne délimitée par des virgules ?

Comment convertir les lignes d'une table SQL Server en une chaîne délimitée par des virgules ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-16 23:26:11118parcourir

How to Convert SQL Server Table Rows into a Comma-Delimited String?

Convertir les lignes du tableau en chaînes séparées par des virgules dans SQL Server

Pour concaténer des lignes en une chaîne séparée par des virgules dans SQL Server, vous pouvez utiliser ensemble les fonctions STUFF() et FOR XML PATH().

La démonstration est la suivante :

  1. Créez et remplissez l'exemple de tableau :

    <code class="language-sql"> DECLARE @T AS TABLE
     (
         Name varchar(10)
     )
    
     INSERT INTO @T VALUES
     ('John'),
     ('Vicky'),
     ('Sham'),
     ('Anjli'),
     ('Manish')</code>
  2. Concaténer des lignes à l'aide de séparateurs par virgule :

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

Cette requête concatènera les lignes de @T en une seule chaîne séparée par des virgules, ce qui donnera ce qui suit :

<code>输出
John,Vicky,Sham,Anjli,Manish</code>

Instructions :

    La fonction
  • FOR XML PATH() génère une représentation XML des lignes, chacune contenue dans une liste séparée par des virgules.
  • La fonction STUFF() est ensuite utilisée pour supprimer les crochets angulaires d'ouverture et de fermeture redondants du résultat.
  • Le 1, 1 dans la fonction STUFF() indique que le premier caractère (c'est-à-dire la virgule de début) doit être supprimé.

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