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

TRIM () Oracle में फंक्शन

Oracle में, TRIM() फ़ंक्शन आपको स्ट्रिंग के किनारों से वर्णों को ट्रिम करने की अनुमति देता है।

आप प्रमुख पात्रों, अनुगामी पात्रों, या दोनों को ट्रिम कर सकते हैं।

डिफ़ॉल्ट रूप से, यह सफेद स्थान को ट्रिम कर देता है, लेकिन आप वैकल्पिक रूप से ट्रिम करने के लिए एक भिन्न वर्ण या वर्ण निर्दिष्ट कर सकते हैं।

सिंटैक्स

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

TRIM([ { { LEADING | TRAILING | BOTH }
         [ trim_character ]
       | trim_character
       }
       FROM 
     ]
     trim_source
    ) 

दोनों trim_character और trim_source VARCHAR2 . हो सकता है या कोई भी डेटा प्रकार जिसे परोक्ष रूप से VARCHAR2 . में परिवर्तित किया जा सकता है ।

उदाहरण

प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है:

 SELECT TRIM('.' FROM '...Cat...')
FROM DUAL; 

परिणाम:

 TRIM('.'FROM'...CAT...') __________________________ कैट 

इस मामले में, निर्दिष्ट वर्ण (. ) स्ट्रिंग के दोनों किनारों से हटा दिया गया था।

इसे दोनों तरफ से हटा दिया गया था क्योंकि मैंने यह नहीं बताया था कि इसे किस तरफ से हटाना है।

हम BOTH . को शामिल करके वही परिणाम प्राप्त कर सकते हैं कीवर्ड:

 SELECT TRIM(BOTH '.' FROM '...Cat...')
FROM DUAL; 

परिणाम:

 TRIM(BOTH'.'FROM'...CAT...') _______________________ Cat 

प्रमुख पात्रों को ट्रिम करें

यहाँ यह फिर से है, लेकिन केवल प्रमुख पात्रों को हटाकर:

SELECT TRIM(LEADING '.' FROM '...Cat...')
FROM DUAL; 

परिणाम:

 ट्रिम (अग्रणी'। 'से' ... कैट ...') __________________________________ बिल्ली ... 

अनुगामी वर्णों को ट्रिम करें

और यहाँ यह केवल अनुगामी वर्णों को हटाकर है:

 SELECT TRIM(TRAILING '.' FROM '...Cat...')
FROM DUAL; 

परिणाम:

 ट्रिम(ट्रेलिंग'।'फ्रॉम'...कैट...') __________________________________ ... कैट 

डिफ़ॉल्ट वर्ण

इस उदाहरण में मैं ट्रिम करने के लिए वर्ण निर्दिष्ट नहीं करता, इसलिए यह रिक्त स्थान को ट्रिम करता है:

SELECT TRIM(' Cat ')
FROM DUAL; 

परिणाम:

 TRIM('CAT') ______________ Cat 

दोनों तरफ से व्हाइटस्पेस को ट्रिम करते समय प्रभाव देखना इतना आसान नहीं है।

यहां एक और उदाहरण दिया गया है जिससे यह देखना आसान हो जाता है कि दोनों तरफ से सफेद जगह हटा दी गई है:

SELECT 
    'My' || ' Fat ' || 'Cat',
    'My' || TRIM(' Fat ') || 'Cat'
FROM DUAL; 

परिणाम:

 'माई' 

नंबर

स्ट्रिंग और ट्रिम वर्ण VARCHAR2 . हो सकते हैं या कोई भी डेटा प्रकार जिसे परोक्ष रूप से VARCHAR2 . में परिवर्तित किया जा सकता है , इसलिए हम निम्नलिखित की तरह एक संख्या पास कर सकते हैं। हालांकि, वापसी मूल्य VARCHAR2 . है ।

DUAL से
SELECT TRIM(LEADING 0 FROM 007)
FROM DUAL; 

परिणाम:

 ट्रिम(LEADING0FROM007) ________________________ 7 

यहाँ यह एक अलग संख्या के साथ छंटनी की जा रही है:

SELECT TRIM(LEADING 1 FROM 117)
FROM DUAL; 

परिणाम:

 ट्रिम(अग्रणी1FROM117) ________________________ 7 

शून्य मान

यदि या तो स्ट्रिंग या ट्रिम वर्ण null है परिणाम null है :

 SET NULL 'null';

SELECT 
    TRIM(null FROM '...Cat...'),
    TRIM(BOTH FROM null),
    TRIM(null FROM null)
FROM DUAL; 

परिणाम:

 TRIM(NULLFROM'...CAT...') TRIM(BOTHFROMNULL) TRIM(NULLFROMNULL) ____________________________ _____________________ _____________ नल नल नल 

डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null . खाली स्थान लौटाते हैं SQL SELECT . के परिणामस्वरूप होता है बयान।

हालांकि, आप SET NULL . का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null वापस किया जाना चाहिए।

खाली स्ट्रिंग्स को ट्रिम करना

एक खाली स्ट्रिंग को ट्रिम कैरेक्टर के रूप में पास करने के परिणामस्वरूप null . होता है :

 SET NULL 'null';

SELECT TRIM('' FROM '   Cat')
FROM DUAL; 

परिणाम:

 TRIM(''FROM'CAT') ____________________ शून्य 

लेकिन रिक्त स्ट्रिंग में एक स्थान जोड़ने से वह बदल जाता है, और स्ट्रिंग से किसी भी रिक्त स्थान को ट्रिम कर देता है:

SET NULL 'null';

SELECT TRIM(' ' FROM '   Cat')
FROM DUAL; 

परिणाम:

 TRIM(''FROM'CAT') ____________________ Cat 

गलत तर्क गणना

कॉलिंग TRIM() कोई तर्क पारित किए बिना एक त्रुटि देता है:

SELECT TRIM()
FROM DUAL; 

परिणाम:

 लाइन से शुरू होने में त्रुटि:कमांड में 1 - कमांड लाइन पर DUALError से ट्रिम () का चयन करें:1 कॉलम:13 त्रुटि रिपोर्ट -एसक्यूएल त्रुटि:ओआरए -00936:लापता अभिव्यक्ति 00936। 00000 - "लापता अभिव्यक्ति"*कारण:*कार्रवाई:

और तर्कों की गलत संख्या पास करने से त्रुटि होती है:

SELECT TRIM(' Cat ', 2)
FROM DUAL; 

परिणाम:

 लाइन से शुरू होने में त्रुटि:कमांड में 1 - चयन ट्रिम ('कैट', 2) कमांड लाइन पर DUALError से:1 कॉलम:20 त्रुटि रिपोर्ट-एसक्यूएल त्रुटि:ओआरए -00907:लापता दाएं कोष्ठक 00907। 00000 - "दायाँ कोष्ठक अनुपलब्ध"*कारण:*कार्रवाई:

यह भी देखें RTRIM() और LTRIM() स्ट्रिंग के प्रत्येक पक्ष को ट्रिम करने के लिए अधिक लक्षित कार्यों के लिए। ये फ़ंक्शन आपको स्ट्रिंग से कई वर्णों को ट्रिम करने की अनुमति भी देते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मुझे Oracle में GUID कैसे स्टोर करना चाहिए?

  2. रीयल टाइम में PL/SQL आउटपुट प्राप्त करें

  3. SQLcl (Oracle) में अपने क्वेरी परिणामों को प्रारूपित करने के 2 तरीके

  4. Oracle IN खंड में LIKE का उपयोग करना

  5. Oracle अनुक्रम लेकिन फिर MS SQL सर्वर में