Zakładam, że zawsze są dokładnie 4 części.
Jeśli tak, możesz zastąpić /
z .
i użyj ładnego wbudowanego ParseName funkcjonować. Jedynym problemem z twojego przykładu jest to, że liczy się od końca, więc musisz uważać na to, którą część chcesz:
DECLARE @test VARCHAR(max);
SET @test = 'Peter/Parker/Spiderman/Marvel';
SET @test = Replace(@test, '/', '.');
SELECT Parsename(@test, 4),--returns Peter
Parsename(@test, 3),--returns Parker
Parsename(@test, 2),--returns Spiderman
Parsename(@test, 1) --returns Marvel
Jeśli istnieje zmienna liczba części, musisz znaleźć funkcję dzielenia ciągów, która zrobi to za ciebie, nie ma dobrej wbudowanej. Wiele opcji można znaleźć, przeszukując SO:https://stackoverflow.com/search?q=[sql+server]+string+split
Słowo ostrzeżenia - jeśli spróbujesz użyć numeru z PARSENAME
inny niż 1-4, wynik będzie zawsze NULL.