Kombinieren Sie Textdaten aus mehreren SQL -Serverzeilen: Eine umfassende Anleitung
Viele SQL -Server -Benutzer müssen Textdaten über mehrere Zeilen in einer einzigen Zeichenfolge kombinieren. Dies ist von unschätzbarem Wert für die Erzeugung von Bericht, die Datenverarbeitung und die String-basierte Berechnungen.
Stellen Sie sich eine Tabelle mit einer Liste von Namen vor:
<code>Peter Paul Mary</code>
Ziel ist es, eine von Kommas getrennte Zeichenfolge zu erstellen: Peter, Paul, Mary
Methode 1: Für SQL Server 2017 und später (string_agg)
SQL Server 2017 und Azure SQL -Datenbank bieten die effiziente STRING_AGG
-Funktion:
<code class="language-sql">SELECT STRING_AGG(Name, ', ') AS ConcatenatedNames FROM TableName;</code>
Methode 2: XML -Analyse (für ältere SQL -Serverversionen)
Für frühere SQL -Serverversionen bietet XML -Parsen eine Lösung:
<code class="language-sql">SELECT LEFT( ( SELECT Name + ',' AS [text()] FROM TableName ORDER BY Name FOR XML PATH('') ).value('.', 'nvarchar(max)'), LEN(( SELECT Name + ',' AS [text()] FROM TableName ORDER BY Name FOR XML PATH('') ).value('.', 'nvarchar(max)')) - 1 ) AS ConcatenatedNames FROM TableName;</code>
Methode 3: Verwenden der Stuff -Funktion
Die STUFF
-Funktion bietet einen anderen Ansatz:
<code class="language-sql">SELECT STUFF( ( SELECT ',' + Name FROM TableName ORDER BY Name FOR XML PATH('') ).value('.', 'nvarchar(max)'), 1, 1, '' ) AS ConcatenatedNames FROM TableName;</code>
Diese Methoden verkettet Textdaten aus mehreren Zeilen innerhalb von SQL Server effizient und vereinfachen Sie die Datenmanipulation und Aggregation. Wählen Sie die für Ihre SQL Server -Version geeignete Methode.
Das obige ist der detaillierte Inhalt vonWie kann ich Textdaten aus mehreren Zeilen in SQL Server verkettet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!