'SubString' auslesen
Rolf Walker
Hallo zusammen!Ich suche eine Möglichkeit aus einem Memofeld (64000 Zeichen) einen Wert auszulesen, der nach einem 'Schlüsselwort' folgt!
Beispielsweise möchte ich in den Ressourcen (CT) im Bemerkungsfeld bestimmte Werte auslesen, die hinter z.b. dem Schlüsselwort 'INT:' stehen in der Länge X
Ich habe folgendes versucht:
SELECT substring(T0.[U_Descript],23,20) FROM [dbo].[@SWA_CT_RESS] T0
Das klappt aber nur dann gut, wenn vorhergehende Strings immer die selbe Länge haben und bei Pos. 23 beginnen. Deshalb wäre es gut, wenn man nach dem 'Schlüsselwort' suchen könnte und danach X-Zeichen ausliest!
Gibts da ne Möglichkeit?
Besten Dank!
Gruss,
Rolf
Manuel Marhold
Hi RolfCHARINDEX ist das, was du suchst:
http://msdn.microsoft.com/de-de/library/ms186323.aspx
Rolf Walker
Hallo Manuel!Danke für den Input!
Habs mal überflogen.
Das liefert mir die Position zurück ab wo der gesuchte String beginnt. Ich müsste das also in zwei schritten machen, wenn ich das richtig verstehe.
1. Die Position ermitteln, wo der gesuchte String beginnt!
2. Diese Position in der SubString-Clause verwenden!
Stimmt das so?
Rolf
Manuel Marhold
Hi Rolf,ja, aber das kannst du (ist zwar etwas unübersichtlicher, aber geht la nicht anders) direkt in deine SUBSTRING-Funktion einbauen
Rolf Walker
Manuel!Danke für die Antwort!
Werds mal weiter verfolgen. Habe allerdings so auf die Schnelle nicht hinbekommen. Wird wirklich ziemlich unübersichtlich. Im Forum habe ich so leider auch kein Beispiel gefunden - und mein Freund Google hat leider auch nicht weitgeholfen!
Aber danke für die Starthilfe.
Vielleicht läuft dir ja mal ein Beispiel über den Weg. Dann wäre ich froh, wenn du mir das mittteils könntest.
Gruss,
Rolf
Manuel Marhold
Hi RolfSELECT substring(T0.[U_Descript],CHARINDEX('INT:',T0.[U_Descript]),20) FROM [dbo].[@SWA_CT_RESS] T0das sollte gehen
Rolf Walker
Hallo Manuel!Wow, vielen Dank!
Ich werds mal versuchen.
Gruss,
Rolf
0
Please sign in to leave a comment.
Comments
0 comments