Agrégation de chaînes dans les versions antérieures à SQL Server 2017
Dans divers scénarios, une agrégation de chaînes est nécessaire. Les bases de données comme Postgresql fournissent des fonctions string_agg
simples pour répondre à ce besoin. Cependant, dans les versions de SQL Server antérieures à 2017, cette fonction est manquante et les utilisateurs doivent trouver une alternative.
Une solution consiste à profiter de l’option XML PATH. La requête suivante montre comment appliquer cette approche dans SQL Server 2014 :
<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, le seul but de la fonction stuff()
est de supprimer la virgule de début. Le travail réel d’agrégation de chaînes est effectué par l’expression for xml path
. Le résultat est une liste d’identifiants séparés par des virgules générés à partir de la table t.
Cette approche n'est peut-être pas aussi intuitive que l'utilisation de la fonction string_agg
, mais elle fournit une alternative viable à l'agrégation de chaînes dans les versions de SQL Server qui n'ont pas la fonction intégrée.
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!