2016-07-27 18 views
1

Ich habe die folgende Stelle als String:T-SQL 2008: Parse String

\\Windows\UnitB\CU1234_001\ 

Ich möchte nur das CU1234_001 Teil zurückzukehren. Die Abfrage, die ich verwenden muss, muss dynamisch sein, da diese Zeichenfolge ändert und es könnte länger oder kürzer sein (es wird die ganze Zeit in "\" enden.

Ich habe versucht, etwas wie dies zu verwenden, aber dies eliminieren nur die letzten „\“ und gibt den Rest der Zeichenfolge:

select 
    substring('\\Windows\UnitB\CU1234_001\', 
       1, (len('\\Windows\UnitB\CU1234_001\') - (Charindex('\', 
    reverse(rtrim('\\Windows\UnitB\CU1234_001\')))))) 
+0

Sie einen Teil bei Index 1 auf gestartet "\\ Windows \ UnitB \ CU1234_001 \". Das wird nicht CU1234_001 zurückgeben –

Antwort

1

Sie eine Kombination von String-Funktionen verwenden können, zu extrahieren, was Sie wollen:

SELECT REVERSE(SUBSTRING(REVERSE(col), 
         2, 
         CHARINDEX('/', REVERSE(col), 2) - 2)) 
FROM yourTable