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.
Verwenden Sie eine Tabellenwertfunktion wie diese,
%Vor%und holen Sie sich Ihre Variable und benutzen Sie diese Funktion so,
%Vor%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.
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.
Tags und Links sql-server-2005 tsql