2017-04-26 18 views
2

Ich muss eine Zeichenfolge aus Zeichenfolge extrahieren, ich verwende eine Tabelle und es hat dynamische Strings kontinuierlich aktualisieren, möchte ich die letzte Zeichenfolge extrahieren.So extrahieren Sie eine Zeichenfolge aus Zeichenfolge

Ich habe versucht, CHARINDEX, PATINDEX, SUBSTRING zu verwenden, aber die Länge der Zeichenfolge ist nicht festgelegt. Wahrscheinlich ist die einzige Alternative, die Nummer zu identifizieren und dann die nächste Zeichenfolge zu extrahieren. Hat jemand einen Vorschlag?

Hector Maya   Supervisión 4 Coecillo 
Bulmaro Vieyra  Supervisión 1 Coecillo 
Bulmaro Vieyra  Supervisión 1 Coecillo 
Edgar Salgado   Supervisión 2 Coecillo 
José A Castillo  Supervisión 5 Coecillo 
Bulmaro Vieyra  Supervisión 1 Coecillo 
Marco Martin Ortiz H. Supervisión 3 Oriente León 
Arturo Salazar L.  Supervisión 2 Oriente León 
Nancy Pérez G.  Supervisión 4 Oriente León 
Arturo Salazar L.  Supervisión 2 Oriente León 

Was ich das letzte Wort will:

'Coecillo', 'Oriente León', etc

+1

was Ihr rdbms ist? SQL Server, Postgres? –

+0

Ihr angegebenes Beispiel hat keine eindeutige Ausgabe! –

+0

Sind sie durch Tabulatoren getrennt? Einfach die Zeichenfolge umkehren, die erste (letzte in der nicht umgekehrten Zeichenfolge) Registerkarte finden, ihre Position abrufen, die Zeichenfolge rückgängig machen und alles nach ihrer Position übernehmen – Milney

Antwort

2

Mit patindex() und reverse() den right() Teil der Zeichenfolge nach der letzten Nummer zu übernehmen.

select LastPart = ltrim(rtrim(right(col,patindex('%[0-9]%',reverse(col))-1))) 
from t 

rextester Demo: http://rextester.com/TLE45990

kehrt:

+--------------+ 
| LastPart | 
+--------------+ 
| Coecillo  | 
| Coecillo  | 
| Coecillo  | 
| Coecillo  | 
| Coecillo  | 
| Coecillo  | 
| Oriente León | 
| Oriente León | 
| Oriente León | 
| Oriente León | 
+--------------+ 
+0

Hallo Zim. zeigst du mir neulich einen anderen rextester? Der Link wurde nicht gespeichert. –

+1

@JuanCarlosOropeza http://dbfiddle.uk z.B. http://dbfiddle.uk/?rdbms=sqlserver_2016&fiddle=be40ff7427fe50c19300652d0915990f – SqlZim

+1

Ausgezeichnet !!! Danke an alle! Es ist die Lösung !!!! –

Verwandte Themen