SSIS, Wie man Teil einer Zeichenkette durch Trennzeichen mit Abgeleiteten Spalte
Ich versuche zu schreiben ein SSIS-Ausdruck, um den rechten Teil einer Zeichenfolge vor dem separator und dann setzen Sie die neue string in eine neue Spalte. Ich habe verwendet, Substring und Findstring in abgeleitete Spalte, aber ich bin Probleme.
Company
Virgin Altantic - F30008
Google - F38115
Ich abrufen müssen F30008 und F38115.
Ich gebrauchte den Ausdruck:
(DT_STR,65,1252)(FINDSTRING(Company,"- ",1) != 0 ? (SUBSTRING(Company,1,FINDSTRING(Company,"-",1) + 2)) : Company)
Von diesem Ausdruck, den ich bekam:
Company
Virgin Altantic -
Google -
Allgemein gesprochen, wollen Sie auch veröffentlichen, was Sie versucht haben, (findstring und substring-ja, aber speziell, was hast du) und was war die genaue Fehlermeldung, die Sie erhalten.
InformationsquelleAutor Djbril | 2013-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Daten:
Abgeleitete Spalte Code:
NewColumn1
NewColumn2
Ergebnis:
InformationsquelleAutor Justin
Das problem, das Sie haben ist, dass Sie wollen das Ende der Zeichenfolge und Ihre aktuelle code geben Sie den Anfang der Zeichenkette.
In der Dokumentation für SUBSTRING gibt 3 Parameter: Ausdruck, Startposition und Länge. FINDSTRING ist die Rückgabe der position des Trennzeichens. Was Sie tun, ist die Angabe der start-position 1, das erste Zeichen in Ihre Spalte.
Stattdessen machen, dass die position des separator, plus 2 Plätze berücksichtigt, für die Trennzeichen selbst und der Raum. Die Länge gehen, um die
LEN([Company]) - FINDSTRING([Company],"- ",1)
In allen version von SSIS, wir haben auch RECHTS, die eine spezialisierte version von TEILZEICHENFOLGE, die Sie könnte auch verwendet.
InformationsquelleAutor billinkc
Verwenden Sie einfach SSIS-TOKEN mit "-" Trennzeichen und dann mit TRIM
InformationsquelleAutor Taras