Tôi giả định rằng ở đây luôn có chính xác 4 phần.
Nếu vậy, bạn có thể thay thế /
với .
và sử dụng ParseName hàm số. Vấn đề duy nhất từ ví dụ của bạn là nó được tính từ cuối, vì vậy bạn cần phải cẩn thận về phần mình muốn:
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
Nếu có một số bộ phận thay đổi, bạn sẽ cần tìm một hàm tách chuỗi để thực hiện việc này cho mình, không có một hàm nào tốt được tích hợp sẵn. Bạn có thể tìm thấy nhiều tùy chọn khi tìm kiếm SO: https://stackoverflow.com/search?q=[sql + server] + string + split
Lời cảnh báo - nếu bạn cố gắng sử dụng một số với PARSENAME
khác với 1-4, kết quả sẽ luôn là NULL.