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;
परिणाम:
'माई'नंबर
स्ट्रिंग और ट्रिम वर्ण
DUAL सेVARCHAR2
. हो सकते हैं या कोई भी डेटा प्रकार जिसे परोक्ष रूप सेVARCHAR2
. में परिवर्तित किया जा सकता है , इसलिए हम निम्नलिखित की तरह एक संख्या पास कर सकते हैं। हालांकि, वापसी मूल्यVARCHAR2
. है ।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
. खाली स्थान लौटाते हैं SQLSELECT
. के परिणामस्वरूप होता है बयान।हालांकि, आप
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()
स्ट्रिंग के प्रत्येक पक्ष को ट्रिम करने के लिए अधिक लक्षित कार्यों के लिए। ये फ़ंक्शन आपको स्ट्रिंग से कई वर्णों को ट्रिम करने की अनुमति भी देते हैं।