मैं यहाँ मान रहा हूँ कि हमेशा ठीक 4 भाग होते हैं।
अगर ऐसा है, तो आप /
. को बदल सकते हैं .
और ParseNameमें निर्मित अच्छे का उपयोग करें ए> समारोह। आपके उदाहरण से एकमात्र समस्या यह है कि यह अंत से गिना जाता है, इसलिए आपको सावधान रहना होगा कि आपको कौन सा भाग चाहिए:
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
यदि भागों की एक चर संख्या है, तो आपके लिए ऐसा करने के लिए आपको एक स्ट्रिंग विभाजन फ़ंक्शन ढूंढना होगा, इसमें कोई अच्छा अंतर्निहित नहीं है। कई विकल्प खोजे जा सकते हैं SO:https://stackoverflow.com/search?q=[sql+server]+string+split
चेतावनी का शब्द - यदि आप PARSENAME
. के साथ किसी संख्या का उपयोग करने का प्रयास करते हैं 1-4 के अलावा, परिणाम हमेशा NULL होगा।