Teilen einer Teilzeichenfolge, die von einer Teilungsfunktion zurückgegeben wird

8

Ich habe eine Zeichenfolge wie unten

%Vor%

und ich muss es basierend auf | teilen.

Also wird das Ergebnis sein:

%Vor%

Dann möchte ich es wieder mit _ teilen, dann wird das Ergebnis sein:

%Vor%

Ist es möglich, dies in einem einzigen Schritt zu tun? Wie bei der Eingabe der entsprechenden Zeichenfolge wird ein Wert wie folgt zurückgegeben:

%Vor%

Ich habe eine Funktion zum Teilen erstellt:

%Vor%

Es wird resultieren:

%Vor%

Aber ich weiß nicht, wie ich den nächsten Split mit diesen Ergebnissen machen kann?

Ich benutze temporäre Tabelle, ich hoffe, ich kann das tun, aber ich muss das 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:

%Vor%

Und der gewünschte Ausgang ist:

%Vor%     
Arunprasanth K V 20.05.2015, 05:58
quelle

6 Antworten

7

Sie können Sql Ersetzen Funktion zuerst verwenden und dann Ihre Split-Funktion wie folgt verwenden

%Vor%

Verwenden Sie jetzt Ihre Split-Funktion wie unten

%Vor%

BEARBEITEN:

Alle gleichzeitig

%Vor%

EDIT1:

In diesem Fall Verwenden Sie die Option Ersetzen in Umkehren

%Vor%     
Sai Kalyan Kumar Akshinthala 20.05.2015, 06:08
quelle
5

Sie können CROSS APPLY so verwenden.

%Vor%     
ughai 20.05.2015 06:09
quelle
2

in SQL gibt es ein CURSOR

Verwenden Sie dann fetch , um jedes SubString von 1. select

zu erhalten %Vor%     
Yu Yenkan 20.05.2015 06:05
quelle
1

Macht diese Hilfe ..

%Vor%     
Abdul Rehman Sayed 20.05.2015 06:09
quelle
1

Sie können die Funktion PATINDEX verwenden, um die Zeichenfolge durch mehrere Trennzeichen zu teilen. Hier ist die komplette Funktion und Beispielausgabe.

%Vor%     
Salman A 20.05.2015 13:13
quelle
0

Verwenden Sie dies möglicherweise Hilfe

%Vor%     
Imran Ali Khan 20.05.2015 06:24
quelle

Tags und Links