Heim >Datenbank >MySQL-Tutorial >Wie verkette ich Zeilen in einer durch Kommas getrennten Zeichenfolge in Microsoft SQL Server?

Wie verkette ich Zeilen in einer durch Kommas getrennten Zeichenfolge in Microsoft SQL Server?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-16 23:37:12912Durchsuche

How to Concatenate Rows into a Comma-Delimited String in Microsoft SQL Server?

Zeilen zu einer durch Kommas getrennten Zeichenfolge verketten

Eine häufige Aufgabe für Datenbankbenutzer, die Microsoft SQL Server verwenden, besteht darin, mehrere Zeilen in einer einzigen durch Kommas getrennten Zeichenfolge zusammenzuführen. Dies vereinfacht die Datenmanipulation und ermöglicht eine unkomplizierte Verarbeitung.

Frage:

Wie können wir mit Microsoft SQL Server eine durch Kommas getrennte Zeichenfolge aus einer Reihe von Zeilen abrufen?

Lösung:

Microsoft SQL Server bietet zu diesem Zweck zwei leistungsstarke Methoden: STUFF und FOR XML. Die folgende Abfrage zeigt, wie man sie effektiv nutzt:

<code class="language-sql">SELECT STUFF((
    SELECT ',' + Name
    FROM @T
    FOR XML PATH('')
), 1, 1, '') AS [output];</code>

Erklärung:

  • STUFF: Die Funktion STUFF() fügt die angegebene Zeichenfolge an der angegebenen Position in eine andere Zeichenfolge ein.
  • FOR XML PATH (''): Die FOR XML PATH ('')-Klausel erstellt eine XML-Darstellung der Daten, wobei jede Zeile als Element dargestellt wird. Der leere String-Parameter stellt sicher, dass kein XML-Markup generiert wird, wodurch er für die Erstellung von durch Kommas getrennten Listen geeignet ist.

Durch die Kombination dieser Techniken verkettet die Abfrage nach und nach Namen mit Kommas, was zu einer einzigen durch Kommas getrennten Zeichenfolge führt.

Das obige ist der detaillierte Inhalt vonWie verkette ich Zeilen in einer durch Kommas getrennten Zeichenfolge in Microsoft SQL Server?. 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