Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक स्थान के बाद सबस्ट्रिंग

यहां 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)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक्सेस में UNPIVOT का अनुकरण कैसे करें?

  2. INSERT पर UNIQUE KEY बाधा का उल्लंघन जहां COUNT(*) =0 SQL सर्वर 2005 पर

  3. फ़ील्ड मान अद्वितीय होना चाहिए जब तक कि यह NULL न हो

  4. SQL सर्वर में डेटा एक्सेस सक्षम है या नहीं यह जांचने के 2 तरीके (T-SQL उदाहरण)

  5. SQL2008 RDL फ़ाइल को SQL2005 में कनवर्ट करना