2017-05-22 3 views
0

extrahieren ich die Zeichenfolge zwischen zwei Worten zu extrahieren bin versuchtWie String von einem bekannten Wort zu einem anderen

So als visuelles Beispiel (einschließlich der Worte.):

Feldinhalt: The frog jumped over the fly in an amazing jump

Stopp Name erste Token: frog
Stopp Name zweiten Token: amazing

Was ich entpacken: frog jumped over the fly in an amazing

Ich habe versucht, den folgenden Code:

[was ich will] = SUBSTRING([FIELD_CONTENT], CHARINDEX([STOP NAME FIRST TOKEN], [FIELD_CONTENT]) CHARINDEX([STOP NAME SECOND TOKEN],[FIELD_CONTENT]) - CHARINDEX([STOP NAME FIRST TOKEN], [FIELD_CONTENT]) + Len([STOP NAME SECOND TOKEN]))

und es gibt mir diese Fehlermeldung:

Msg 537, Level 16, State 2, Line 2
Invalid length parameter passed to the LEFT or SUBSTRING function.

Ich habe keine Ahnung, was ich falsch mache.

Jeder Rat würde sehr geschätzt werden. Vielen Dank!!

+0

Sie fehlen ein Komma vor dem zweiten 'CHARINDEX' –

+0

immer noch gleichen Fehler :( – pynewbee

+0

Wirklich. Ich kopierte es und ersetzte den Text für die Feldnamen und es funktionierte für mich. –

Antwort

0

Sie fehlen ein Komma vor dem zweiten CHARINDEX.

Versuchen Sie es. Mit Strings aktualisiert.

Select SUBSTRING('The frog jumped over the fly in an amazing jump', CHARINDEX('frog', 'The frog jumped over the fly in an amazing jump') 
, CHARINDEX('amazing','The frog jumped over the fly in an amazing jump') - CHARINDEX('frog', 'The frog jumped over the fly in an amazing jump') + Len('amazing')) 

Ergebnisse:

frog jumped over the fly in an amazing

0

Rather than making 5 function calls, you can do it in just 3 by nesting two SUBSTRING_INDEX() 's inside of CONCAT() :

SELECT CONCAT('frog', 
     SUBSTRING_INDEX(
      SUBSTRING_INDEX('The frog jumped over the fly in an amazing jump','frog',-1), 
     'amazing',1) 
     ,'amazing') AS 'What I Want' 

Der erste SUBSTRING_INDEX() erzeugt: jumped over the fly in an amazing jump
Der zweite SUBSTRING_INDEX() erzeugt: jumped over the fly in an
Schließlich CONCAT() verbindet die Schlüsselwörter erneut: frog jumped over the fly in an amazing

Verwandte Themen