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

मैं एक स्ट्रिंग को कैसे विभाजित करूं ताकि मैं आइटम x तक पहुंच सकूं?

मुझे विश्वास नहीं है कि SQL सर्वर में एक अंतर्निहित स्प्लिट फ़ंक्शन है, इसलिए UDF के अलावा, मुझे पता है कि एकमात्र अन्य उत्तर PARSENAME फ़ंक्शन को हाईजैक करना है:

SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2) 

PARSENAME एक स्ट्रिंग लेता है और उसे आवर्त वर्ण पर विभाजित करता है। यह अपने दूसरे तर्क के रूप में एक संख्या लेता है, और वह संख्या निर्दिष्ट करती है कि स्ट्रिंग का कौन सा खंड वापस लौटना है (पीछे से आगे की ओर काम करना)।

SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 3)  --return Hello

स्पष्ट समस्या तब होती है जब स्ट्रिंग में पहले से ही एक अवधि होती है। मुझे अब भी लगता है कि UDF का उपयोग करना सबसे अच्छा तरीका है...कोई अन्य सुझाव?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL खराब संग्रहीत कार्यविधि निष्पादन योजना प्रदर्शन - पैरामीटर सूँघना

  2. SQL सर्वर में डेटाबेस मेल सक्षम करें (T-SQL)

  3. कार्य बनाम संग्रहीत कार्यविधियाँ

  4. अद्यतन करें यदि मौजूद है तो SQL Server 2008 में INSERT करें

  5. टी-एसक्यूएल कास्ट बनाम कन्वर्ट