Heim > Datenbank > MySQL-Tutorial > Wie kann ich durch Kommas getrennte Zeichenfolgen in SQL Server 2012 aufteilen, ohne STRING_SPLIT zu verwenden?

Wie kann ich durch Kommas getrennte Zeichenfolgen in SQL Server 2012 aufteilen, ohne STRING_SPLIT zu verwenden?

Mary-Kate Olsen
Freigeben: 2025-01-11 07:50:42
Original
1042 Leute haben es durchsucht

How Can I Split Comma-Separated Strings in SQL Server 2012 Without Using STRING_SPLIT?

SQL Server 2012 Komma-getrennte Zeichenfolgenaufteilung: Eine XML-basierte Lösung

Der Kompatibilitätsgrad von SQL Server 2012 kann den Zugriff auf die Funktion STRING_SPLIT einschränken. In diesem Artikel wird eine effektive Problemumgehung mithilfe von XML-Techniken zum Teilen von durch Kommas getrennten Werten vorgestellt.

Nutzung von XML und CROSS APPLY

Diese Methode wandelt die durch Kommas getrennte Zeichenfolge in eine XML-Struktur um. CROSS APPLY extrahiert dann jeden Wert als Knoten aus diesem XML. Hier ist der SQL-Code:

SELECT Split.a.value('.', 'NVARCHAR(MAX)') AS DATA
FROM
(
    SELECT CAST('<X>'+REPLACE(@ID, ',', '</X><X>')+'</X>' AS XML) AS String
) AS A
CROSS APPLY String.nodes('/X') AS Split(a);
Nach dem Login kopieren

Anschauliches Beispiel

Lassen Sie uns diese Beispielparameter verwenden:

DECLARE @ID NVARCHAR(300)= '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20';
DECLARE @Marks NVARCHAR(300)= '0,1,2,5,8,9,4,6,7,3,5,2,7,1,9,4,0,2,5,0';
Nach dem Login kopieren

Die folgende Abfrage veranschaulicht das Aufteilen dieser Zeichenfolgen und das Einfügen der Ergebnisse in eine Tabelle:

INSERT INTO @StudentsMark
SELECT C.id, C1.marks
FROM CTE C
LEFT JOIN CTE1 C1 ON C1.RN = C.RN;
Nach dem Login kopieren

Ergebnis

Das Ergebnis ist eine Tabelle mit den Spalten „id“ und „marks“, die jeweils mit den geteilten Werten von @ID und @Marks gefüllt sind.

Dieser XML-basierte Ansatz bietet eine zuverlässige Methode zum Umgang mit durch Kommas getrennten Daten in SQL Server 2012 und umgeht Einschränkungen der Kompatibilitätsebene.

Das obige ist der detaillierte Inhalt vonWie kann ich durch Kommas getrennte Zeichenfolgen in SQL Server 2012 aufteilen, ohne STRING_SPLIT zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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