यहां SUBSTRING
का उपयोग करने वाला एक संस्करण दिया गया है और CHARINDEX
SQL सर्वर 2016 से पहले SQL सर्वर के संस्करणों के लिए जब STRING_SPLIT
पेश किया गया था।
निम्न में से कोई भी कार्य करता है:
SELECT SUBSTRING(@string, CHARINDEX(' ', @string) +1, 20)
SELECT SUBSTRING(@string, CHARINDEX(' ', @string) +1, DATALENGTH(@string) - CHARINDEX(' ', @string) +1 )
हमें CHARINDEX का उपयोग करके स्थान की स्थिति का पता लगाने की आवश्यकता है (जो एक संख्या देता है जो दर्शाता है कि स्ट्रिंग (स्पेस) कहाँ से शुरू होती है। हालाँकि जिस स्ट्रिंग को हम चुनना चाहते हैं वह स्पेस के बाद शुरू होती है, इसलिए हमें इसमें 1 (+1) जोड़ना होगा। हमारे सबस्ट्रिंग की प्रारंभिक स्थिति ताकि प्रारंभिक स्थिति CHARINDEX(' ', @string) + 1. हो जाए।
सबस्ट्रिंग के लिए तीसरा तर्क चुनने के लिए स्ट्रिंग की लंबाई है, पहले मामले में मैं सिर्फ यह मानता हूं कि आपके द्वारा वर्चर (20) के रूप में निर्दिष्ट स्ट्रिंग 20 वर्णों से अधिक नहीं हो सकती है इसलिए मैं 20 का उपयोग कर रहा हूं। नोट सबस्ट्रिंग कोशिश नहीं करेगा स्ट्रिंग के अंत के बाद के वर्णों का चयन करें, इसलिए शेष वर्णों की संख्या से अधिक लंबी लंबाई निर्दिष्ट करना सुरक्षित है।
मेरा दूसरा उदाहरण चयन करने के लिए स्ट्रिंग की लंबाई प्राप्त करता है, इसके आधार पर कुल स्ट्रिंग की लंबाई (DATALENGTH) घटा हमारे चयन से पहले वर्णों की संख्या (CHARINDEX + 1)