Ich habe eine Zeichenfolge wie untenSplit ein Teil, die von einer Split-Funktion gibt
a_b|c_d
und ich brauche es zu teilen, basierend auf |
.
So wird das Ergebnis sein:
a_b
c_d
Dann will ich es mit _
wieder spalten, dann führt sein:
a
b
c
d
Ist es möglich, dies in einem einzigen zu tun Schritt? Wie, wenn die Eingabe der entsprechenden Zeichenfolge, wird es einen Wert zurückgeben wie folgt vor:
a
b
c
d
Ich habe eine Funktion für Split erstellt:
select items from dbo.splitdetails('a_b|c_d','|')
Es wird zur Folge haben:
a_b
c_d
Aber ich weiß nicht, wie kann ich mit diesen Ergebnissen den nächsten Split machen?
Mit temporäre Tabelle, ich hoffe, ich kann dies tun, aber ich muss dies innerhalb einer Funktion verwenden. Also ich denke temporäre Tabelle ist keine gute Option. Cursor ist auch eine Option, aber wenn ich Cursor verwende, wird es die Leistung verschlechtern, weil ich Tausende von Datensätzen habe.
Meine Eingabe ist:
a_b|c_d
und legte gewünschte out ist:
a
b
c
d
Haben Sie darüber nachgedacht, einen Datentyp zu verwenden, der * entworfen * wurde, um mehrere Werte wie XML oder Tabellen zu speichern, anstatt dieses Problem für sich selbst zu erstellen? –