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
. का परिणाम देता ।