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

SQL सर्वर में अग्रणी और अनुगामी वर्ण कैसे निकालें?

SQL सर्वर में, TRIM() फ़ंक्शन आमतौर पर एक स्ट्रिंग से अग्रणी और पिछली सफेद जगह को हटाने के लिए उपयोग किया जाता है। लेकिन क्या आप जानते हैं कि आप स्ट्रिंग के प्रारंभ/अंत से अन्य वर्णों को भी हटा सकते हैं? यह व्हाइटस्पेस होना जरूरी नहीं है।

TRIM() एक टी-एसक्यूएल फ़ंक्शन है जो विशेष रूप से स्पेस कैरेक्टर को हटाता है char(32) या अन्य निर्दिष्ट वर्ण एक स्ट्रिंग की शुरुआत या अंत से।

सिंटैक्स

वाक्य रचना इस प्रकार है:

TRIM ( [ characters FROM ] string )

string तर्क एक आवश्यक तर्क है - यह ट्रिम करने के लिए वास्तविक स्ट्रिंग है।

characters FROM एक वैकल्पिक तर्क वह बिट है जो आपको यह निर्दिष्ट करने की अनुमति देता है कि कौन से वर्णों को हटाया जाना चाहिए (यह मानते हुए कि आप केवल अंतरिक्ष वर्ण को नहीं हटा रहे हैं)। यदि आप निर्दिष्ट नहीं करते हैं कि कौन से वर्ण हैं, तो अंतरिक्ष वर्ण काट दिया जाएगा।

उदाहरण

यहां प्रमुख और अनुगामी बराबर चिह्नों को ट्रिम करने का एक मूल उदाहरण दिया गया है (= ) एक स्ट्रिंग से:

SELECT TRIM('=' FROM '=SPECIALS=') AS Result;

परिणाम

Result  
--------
SPECIALS

एक चरित्र के कई उदाहरण

यह निर्दिष्ट वर्ण के कई उदाहरणों को भी ट्रिम करता है।

उदाहरण:

SELECT TRIM('=' FROM '===SPECIALS===') AS Result;

परिणाम:

Result  
--------
SPECIALS

एकाधिक वर्णों को ट्रिम करना

यह आपको कई वर्णों को ट्रिम करने की भी अनुमति देता है।

उदाहरण:

SELECT TRIM('!*=+?' FROM '=+=*!SPECIALS?=+=') AS Result;

परिणाम:

Result  
--------
SPECIALS

एम्बेडेड व्हाइट स्पेस

यदि व्हॉट्सएप ट्रिम किए गए कैरेक्टर के अंदर मौजूद है, तो व्हाइटस्पेस को ट्रिम किए जाने की उम्मीद न करें (जब तक कि आप स्पेस कैरेक्टर को ट्रिम किए जाने वाले कैरेक्टर में से एक के रूप में स्पष्ट रूप से निर्दिष्ट नहीं करते हैं)।

यहाँ मेरा मतलब है:

SELECT TRIM('=' FROM '=   SPECIALS   =') AS Result;

परिणाम:

Result        
--------------
   SPECIALS   

इस मामले में, बराबर चिह्न काट दिया जाता है लेकिन सफेद स्थान बना रहता है। ऐसा इसलिए है क्योंकि सफेद स्थान स्ट्रिंग के ठीक बाएँ और/या दाएँ नहीं है।

अगर हम दोनों बराबर चिह्न और . को हटाना चाहते हैं सफेद स्थान, हम ट्रिम करने के लिए वर्णों की सूची में बस एक स्पेस कैरेक्टर जोड़ सकते हैं:

SELECT TRIM('=' FROM '=   SPECIALS   =') AS Result;

परिणाम:

Result  
--------
SPECIALS

व्हाइटस्पेस से घिरे वर्ण

पिछले उदाहरण के समान, आप SQL सर्वर से निर्दिष्ट वर्ण को ट्रिम करने की अपेक्षा नहीं कर सकते हैं यदि उसके और स्ट्रिंग के प्रारंभ/अंत के बीच रिक्त स्थान है।

उदाहरण के लिए:

SELECT TRIM('=' FROM '   =SPECIALS=   ') AS Result;

परिणाम:

Result          
----------------
   =SPECIALS=

इस उदाहरण में, कुछ भी नहीं काटा गया था। ऐसा इसलिए है क्योंकि बराबर चिह्नों और स्ट्रिंग के प्रारंभ/अंत के बीच रिक्त स्थान है।

इस मामले में, आप केवल स्पेस कैरेक्टर को ट्रिम किए जाने वाले वर्णों में से एक के रूप में जोड़ सकते हैं:

SELECT TRIM('= ' FROM '   =SPECIALS=   ') AS Result;

परिणाम:

Result  
--------
SPECIALS

TRIM() using का उपयोग करने के अधिक उदाहरणों के लिए स्ट्रिंग के बाएँ और दाएँ से व्हाइटस्पेस को ट्रिम करने के लिए, SQL सर्वर में अग्रणी और पिछला व्हाइटस्पेस कैसे निकालें देखें।


  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. Azure वर्चुअल मशीन पर SQL Server 2014 चलाना

  3. ऑब्जेक्ट 'DF__*' कॉलम '*' पर निर्भर है - int को डबल में बदलना

  4. SQL सर्वर में डायनेमिक SQL को कैसे साफ़ करें (SQL इंजेक्शन को रोकें)?

  5. SQL सर्वर में अल्पविराम से अलग की गई सूची को पंक्तियों में कैसे बदलें