Wie wird eine Zeichenfolge in T-SQL aufgeteilt?

8

Ich habe ein varchar @ a = 'a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p', das | begrenzte Werte. Ich möchte diese Variable in einem Array oder einer Tabelle aufteilen. Hat jemand eine Ahnung davon.

    
Vaibhav Jain 07.05.2010, 05:23
quelle

4 Antworten

11

Verwenden Sie eine Tabellenwertfunktion wie diese,

%Vor%

und holen Sie sich Ihre Variable und benutzen Sie diese Funktion so,

%Vor%     
Chendur Pandian 07.05.2010, 05:26
quelle
2

Im Allgemeinen ist dies eine so häufige Frage hier

Ich gebe die allgemeine Antwort: Arrays und Listen in SQL Server 2005 und darüber hinaus von Erland Sommarskog

Ich würde eine Tabelle der Zahlen empfehlen, keine Schleife, für den allgemeinen verwenden.

    
gbn 07.05.2010 05:29
quelle
2

Versuchen Sie Folgendes:

%Vor%     
niceApp 08.05.2010 11:42
quelle
1

Hier ist eine alternative XML-basierte Lösung. Es scheint eine ähnliche Leistung wie die Splitfn () -Lösung zu haben.

Dies konvertiert varchar a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p in XML <a>a</a><a>b</a><a>c</a><a>d</a><a>e</a><a>f</a><a>g</a><a>h</a><a>i</a><a>j</a><a>k</a><a>l</a><a>m</a><a>n</a><a>o</a><a>p</a> und extrahiert den Wert von jedem XML <a> -Knoten.

%Vor%     
jumxozizi 24.05.2017 07:56
quelle

Tags und Links