Heim >Datenbank >MySQL-Tutorial >Wie führe ich eine String-Aggregation in SQL Server vor 2017 durch?
String-Aggregation in Versionen vor SQL Server 2017
In verschiedenen Szenarien besteht Bedarf an String-Aggregation. Datenbanken wie Postgresql bieten einfache string_agg
-Funktionen, um diesen Bedarf zu decken. In SQL Server-Versionen vor 2017 fehlt diese Funktion jedoch und Benutzer müssen eine Alternative finden.
Eine Lösung besteht darin, die XML PATH-Option zu nutzen. Die folgende Abfrage zeigt, wie dieser Ansatz in SQL Server 2014 angewendet wird:
<code class="language-sql">select stuff( (select ',' + cast(t.id as varchar(max)) from tabel t for xml path ('') ), 1, 1, '' );</code>
In dieser Abfrage besteht der einzige Zweck der Funktion stuff()
darin, das führende Komma zu entfernen. Die eigentliche Arbeit der String-Aggregation wird vom for xml path
-Ausdruck ausgeführt. Das Ergebnis ist eine durch Kommas getrennte Liste von IDs, die aus Tabelle t generiert wurden.
Dieser Ansatz ist möglicherweise nicht so intuitiv wie die Verwendung der Funktion string_agg
, bietet jedoch eine praktikable Alternative für die Zeichenfolgenaggregation in Versionen von SQL Server, die nicht über die integrierte Funktion verfügen.
Das obige ist der detaillierte Inhalt vonWie führe ich eine String-Aggregation in SQL Server vor 2017 durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!