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

STUFF () का उपयोग करके SQL सर्वर में किसी अन्य स्ट्रिंग में स्ट्रिंग कैसे सम्मिलित करें

SQL सर्वर में, आप T-SQL का उपयोग कर सकते हैं STUFF() एक स्ट्रिंग को दूसरे स्ट्रिंग में डालने के लिए फ़ंक्शन। यह आपको एक विशिष्ट स्थान पर एक शब्द डालने जैसे काम करने में सक्षम बनाता है। यह आपको किसी शब्द को विशिष्ट स्थान पर बदलने की अनुमति भी देता है।

यहाँ आधिकारिक सिंटैक्स है:

STUFF ( character_expression , start , length , replaceWith_expression )
  • character_expression मूल स्ट्रिंग है। यह वास्तव में वर्ण या बाइनरी डेटा का स्थिर, परिवर्तनशील या स्तंभ हो सकता है।
  • start प्रारंभ स्थिति निर्दिष्ट करता है (अर्थात जहां नई स्ट्रिंग डाली जाएगी)।
  • length मूल स्ट्रिंग से कितने वर्णों को हटाना है।
  • replaceWith_expression वह स्ट्रिंग है जिसे डाला जा रहा है। replaceWith_expression वर्ण या बाइनरी डेटा का स्थिर, परिवर्तनशील या स्तंभ हो सकता है।

एक शब्द बदलें

यहां एक उदाहरण दिया गया है जहां मैं एक शब्द को एक स्ट्रिंग के भीतर बदल देता हूं।

SELECT STUFF('Cats and dogs', 6, 3, 'like');

परिणाम:

Cats like dogs

इस मामले में, मैं निर्दिष्ट करता हूं कि like . शब्द स्थिति 6 पर डाला जाना चाहिए, और 3 वर्णों को मूल स्ट्रिंग से हटा दिया जाना चाहिए (इससे and शब्द हटा दिया जाता है ) तो शब्द and हटा दिया जाता है और शब्द like डाला गया है।

एक शब्द डालें

मूल स्ट्रिंग से कुछ भी हटाए बिना शब्द डालने का एक उदाहरण यहां दिया गया है:

SELECT STUFF('Cats and dogs', 10, 0, 'big ');

परिणाम:

Cats and big dogs

मूल स्ट्रिंग से कुछ भी नहीं हटाया गया है क्योंकि मैंने 0 . निर्दिष्ट किया है तीसरे तर्क के रूप में।

सीमा मान से बाहर

यदि प्रारंभ स्थिति मूल स्ट्रिंग की लंबाई से बाहर है, तो एक NULL मान वापस कर दिया जाता है।

उदाहरण:

SELECT STUFF('Cats and dogs', 20, 4, 'rabbits');

परिणाम:

NULL

इस मामले में, मूल स्ट्रिंग 20 वर्ण लंबी नहीं है, इसलिए परिणाम NULL . है ।

यदि आप 0 . प्रदान करते हैं तो ऐसा ही होता है या एक ऋणात्मक संख्या:

SELECT STUFF('Cats and dogs', -1, 4, 'rabbits');

परिणाम:

NULL

इन उदाहरणों के परिणाम MySQL के INSERT() . के विपरीत हैं फ़ंक्शन, जो इस परिदृश्य में मूल स्ट्रिंग लौटाएगा। MySQL का INSERT() मूल रूप से टी-एसक्यूएल के STUFF() . जैसा ही काम करता है (इस तरह के मामलों को छोड़कर)।

शून्य मान सम्मिलित करना

यदि आप एक NULL मान सम्मिलित करते हैं, तो आपका परिणाम केवल बताए गए स्थान से वर्णों की बताई गई संख्या को हटा देगा। दूसरे शब्दों में, कुछ भी नहीं डाला गया है, लेकिन निर्दिष्ट के अनुसार वर्ण अभी भी हटा दिए गए हैं।

उदाहरण:

SELECT STUFF('Cats and dogs', 6, 3, NULL);

परिणाम:

Cats dogs

यह एक और क्षेत्र है जहां MySQL टी-एसक्यूएल से अलग है। इस उदाहरण को MySQL के INSERT() . के साथ करना फ़ंक्शन NULL . का परिणाम देता ।


  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 सर्वर - SQL स्क्रिप्ट के निष्पादन को रोकें या रोकें

  2. Microsoft ने SQL Server 2012 R2 और SQL Server 2012 R3 की घोषणा की!

  3. संग्रहित प्रक्रिया के परिणाम सेट से कॉलम का चयन करें

  4. बुरी आदतें:SQL सर्वर में NULL से बचना

  5. SQL सर्वर में रैंड () नियतात्मक कैसे बनाएं?