Saya berasumsi di sini bahwa selalu ada tepat 4 bagian.
Jika demikian, Anda dapat mengganti /
dengan .
dan gunakan built in ParseName fungsi. Satu-satunya masalah dari contoh Anda adalah bahwa itu dihitung dari akhir, jadi Anda harus berhati-hati tentang bagian mana yang Anda inginkan:
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
Jika ada sejumlah variabel bagian, Anda harus menemukan fungsi pemisahan string untuk melakukan ini untuk Anda, tidak ada yang bagus di dalamnya. Banyak opsi dapat ditemukan mencari SO:https://stackoverflow.com/search?q=[sql+server]+string+split
Peringatan - jika Anda mencoba menggunakan nomor dengan PARSENAME
selain 1-4, hasilnya akan selalu NULL.