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
Freigeben: 2025-01-25 17:57:10
Original
991 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage