Heim >Datenbank >MySQL-Tutorial >Wie kann ich Textdaten aus mehreren Zeilen in SQL Server verkettet?

Wie kann ich Textdaten aus mehreren Zeilen in SQL Server verkettet?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-25 17:57:10998Durchsuche

How Can I Concatenate Text Data from Multiple Rows in SQL Server?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn