Heim > Datenbank > MySQL-Tutorial > Wie verketten STUFF und FOR XML PATH Daten in SQL Server?

Wie verketten STUFF und FOR XML PATH Daten in SQL Server?

Susan Sarandon
Freigeben: 2025-01-22 22:49:11
Original
145 Leute haben es durchsucht

How Do STUFF and FOR XML PATH Concatenate Data in SQL Server?

Die clevere Kombination von STUFF und FOR XML PATH in SQL Server

In SQL Server kann die Kombination der Funktionen STUFF und FOR XML PATH Daten effizient verbinden und verarbeiten. Sehen wir uns an, wie diese beiden Funktionen zusammenarbeiten, um die gewünschte Ausgabe zu erzielen.

Die Rolle von FOR XML PATH

FÜR XML-PFAD Konvertieren Sie Abfrageergebnisse in eine Zeichenfolge von XML-Elementen. Das Hinzufügen einer leeren Zeichenfolge als Argument ('') zu FOR XML PATH erzeugt eine durch Kommas getrennte Liste von Werten. Zum Beispiel:

<code class="language-sql">SELECT ',' + name 
FROM temp1
FOR XML PATH ('')</code>
Nach dem Login kopieren

Das Ergebnis ist:

<code>,aaa,bbb,ccc,ddd,eee</code>
Nach dem Login kopieren

Die Rolle von STUFF

Die STUFF-Funktion wird verwendet, um Zeichen in eine Zeichenfolge einzufügen oder zu ersetzen. Indem Sie die Startpositions- und Längenparameter als 1 angeben, entfernen Sie effektiv das erste Zeichen der Zeichenfolge:

<code class="language-sql">STUFF(
    (SELECT ',' + NAME
    FROM temp1
    FOR XML PATH('')
    ), 1, 1, ''
)</code>
Nach dem Login kopieren

Dadurch wird das Komma am Anfang der Namensliste entfernt:

<code>aaa,bbb,ccc,ddd,eee</code>
Nach dem Login kopieren

ID-basierte Verbindung

Verwenden Sie schließlich „Gruppieren nach“, um die geänderte Liste mit der ID-Spalte zu verknüpfen, um sie zu aggregieren und die gewünschte Ausgabe zurückzugeben:

<code class="language-sql">SELECT ID, abc = STUFF(
    (SELECT ',' + name 
    FROM temp1 t1
    WHERE t1.id = t2.id
    FOR XML PATH (''))
    , 1, 1, '') 
FROM temp1 t2
GROUP BY id;</code>
Nach dem Login kopieren

Dieser Code erklärt kurz und bündig, wie STUFF und FOR XML PATH in SQL Server zusammenarbeiten, um die gewünschte Ausgabe zu erzeugen.

Das obige ist der detaillierte Inhalt vonWie verketten STUFF und FOR XML PATH Daten in SQL Server?. 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