Maison >base de données >tutoriel mysql >Comment puis-je réaliser une agrégation de chaînes dans les anciennes versions de SQL Server (antérieures à 2017) ?
Comment utiliser String_agg dans les anciennes versions de SQL Server
La fonctionstring_agg
est un outil puissant pour concaténer plusieurs lignes en une seule chaîne et est largement utilisée dans diverses bases de données SQL telles que PostgreSQL et SQL Server. Cependant, la fonction string_agg
n'est pas supportée nativement dans les versions de SQL Server antérieures à 2017.
Solution pour SQL Server 2014 :
Pour obtenir des fonctionnalités similaires dans SQL Server 2014, vous pouvez utiliser la requête suivante :
<code class="language-sql">SELECT STUFF((SELECT ',' + CAST(t.id AS VARCHAR(MAX)) FROM tabel t FOR XML PATH('') ), 1, 1, '');</code>
Dans cette requête :
FOR XML PATH('')
génère une liste de valeurs d'identifiant séparées par des virgules. STUFF
supprime la virgule initiale du résultat. CAST(t.id AS VARCHAR(MAX))
Garantit que toutes les valeurs d'identifiant sont converties en chaînes quel que soit leur type de données d'origine. Cette méthode émule efficacement le comportement de string_agg
, vous permettant de concaténer plusieurs valeurs d'identifiant en 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!