Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich durch Kommas getrennte Werte in Zeilen in SQL Server?
Durch Kommas getrennte Werte in zeilenstrukturierte Daten konvertieren
In SQL Server, wenn Daten in einem durch Kommas getrennten Format innerhalb einer Spalte gespeichert werden kann es schwierig sein, einzelne Werte zu extrahieren und zu manipulieren. In diesem Artikel wird gezeigt, wie solche Daten mithilfe einer Auswahlabfrage in ein zeilenstrukturiertes Format konvertiert werden.
Stellen Sie sich eine Tabelle namens Sample mit einer Spalte namens String vor, die Komma enthält. getrennte Werte, wie zum Beispiel:
Id | String |
---|---|
1 | abc,def,ghi |
2 | jkl,mno,pqr |
Um die einzelnen Werte zu extrahieren und als Zeilen darzustellen, können wir Folgendes verwenden Schritte:
Umschließen Sie die Spalte String in XML-Tags:
CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML)
Dadurch wird ein XML-Fragment erstellt, in dem jeder Wert in einem < gekapselt ist ;M> Tag.
Verwenden Sie den CROSS APPLY-Operator, um eine hierarchische Abfrage durchzuführen:
CROSS APPLY String.nodes ('/M') AS Split(a)
Dadurch wird eine Knotenmethode kreuzweise auf das XML-Fragment angewendet, was zu einem neuen führt Zeile für jedes
Kombinieren Sie die Spalte Id mit der Spalte Split(a).value('text()') Ausdruck:
SELECT A.[id], Split.a.value('.','VARCHAR(100)') AS String FROM (SELECT [id], CAST('...AS XML) AS String FROM Sample) AS A
Dies gleicht die ID mit den extrahierten Werten ab und gibt sie als separate Werte zurück Zeilen.
Das Ergebnis ähnelt der gewünschten Ausgabe:
Id | ProcessedRows |
---|---|
1 | abc |
1 | def |
1 | ghi |
2 | jkl |
2 | mno |
2 | pqr |
Diese Technik ermöglicht die Extraktion und Darstellung von durch Kommas getrennten Werten als Zeilen und ermöglicht so eine effiziente Analyse und Manipulation der Daten.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich durch Kommas getrennte Werte in Zeilen in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!