Hallo,
ich arbeite auch neu mit dem "Microsoft SQL Server Management Studio". Auch ich möchte Teile eines Strings ausschneiden und ausgeben lassen.
Am besten hier ein Bsp.:
Ich habe einen Baumpfad, der z.B. so
"Baumpfad=Anlagen->Abwasserpumpwerk->NMB AW Nord->[Ortschaft1]->AWPW - Ortschaft1, Straße 1->[weitere Objekte]" oder so
"Baumpfad=Anlagen->Kläranlage->NMB AW Süd->[Ortschaft2]->KA - Ortschaft2, Straße 2->[weitere Objekte]" aussehen kann.
Es gibt also mehrere Ebenen, deren Länge unterschiedlich ist.
Ich möchte jetzt als Ergebnis in einer Spalte die 3. Ebene ("NMB AW Nord" oder "NMB AW Süd") und in einer weiteren Spalte die 5. Ebene (z.B. "AWPW - Ortschaft1, Straße 1") des Baumpfades stehen haben. Gibt es eine Möglichkeit, ab dem 2. mal "->" bis zum 3. mal "->" für die 3. Ebene bzw. ab dem 4. mal "->" bis zum 5. mal "->" für die 5. Ebene den Baumpfad abzuschneiden?
Ich bin totaler Neuling in SQL und wäre sehr dankbar über eure Hilfe.
Ergänzung:
Durch viel Probieren konnte ich die 3. Ebene wie folgt extrahieren:
"SUBSTRING(Baumpfad, CHARINDEX('NMB AW', Baumpfad), CHARINDEX('->', Baumpfad, CHARINDEX('NMB AW', Baumpfad)) - CHARINDEX('NMB AW', Baumpfad)) AS NMB"
Das funktioniert allerdings nur, weil der Textabschnitt "NMB AW" immer vorkommen muss.
Für die 5. Ebene habe ich leider keine Idee. Als Lösungsansatz hilft evtl., dass jede Ebene immer mit der Zeichenkette "->" voneinander getrennt wird.
ich arbeite auch neu mit dem "Microsoft SQL Server Management Studio". Auch ich möchte Teile eines Strings ausschneiden und ausgeben lassen.
Am besten hier ein Bsp.:
Ich habe einen Baumpfad, der z.B. so
"Baumpfad=Anlagen->Abwasserpumpwerk->NMB AW Nord->[Ortschaft1]->AWPW - Ortschaft1, Straße 1->[weitere Objekte]" oder so
"Baumpfad=Anlagen->Kläranlage->NMB AW Süd->[Ortschaft2]->KA - Ortschaft2, Straße 2->[weitere Objekte]" aussehen kann.
Es gibt also mehrere Ebenen, deren Länge unterschiedlich ist.
Ich möchte jetzt als Ergebnis in einer Spalte die 3. Ebene ("NMB AW Nord" oder "NMB AW Süd") und in einer weiteren Spalte die 5. Ebene (z.B. "AWPW - Ortschaft1, Straße 1") des Baumpfades stehen haben. Gibt es eine Möglichkeit, ab dem 2. mal "->" bis zum 3. mal "->" für die 3. Ebene bzw. ab dem 4. mal "->" bis zum 5. mal "->" für die 5. Ebene den Baumpfad abzuschneiden?
Ich bin totaler Neuling in SQL und wäre sehr dankbar über eure Hilfe.
Ergänzung:
Durch viel Probieren konnte ich die 3. Ebene wie folgt extrahieren:
"SUBSTRING(Baumpfad, CHARINDEX('NMB AW', Baumpfad), CHARINDEX('->', Baumpfad, CHARINDEX('NMB AW', Baumpfad)) - CHARINDEX('NMB AW', Baumpfad)) AS NMB"
Das funktioniert allerdings nur, weil der Textabschnitt "NMB AW" immer vorkommen muss.
Für die 5. Ebene habe ich leider keine Idee. Als Lösungsansatz hilft evtl., dass jede Ebene immer mit der Zeichenkette "->" voneinander getrennt wird.