Oracle में, RTRIM()
फ़ंक्शन आपको स्ट्रिंग के दाहिने हिस्से को ट्रिम करने की अनुमति देता है। डिफ़ॉल्ट रूप से, यह सफेद स्थान को ट्रिम कर देता है, लेकिन आप वैकल्पिक रूप से ट्रिम करने के लिए एक भिन्न वर्ण या वर्ण निर्दिष्ट कर सकते हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
RTRIM(char [, set ])
जहां char
और set
कोई भी डेटा प्रकार हो सकता है CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
, या NCLOB
।
RTRIM
char
. के दाहिने छोर से हटाता है set
. में निहित सभी वर्ण . यदि आप set
निर्दिष्ट नहीं करते हैं , तो यह डिफ़ॉल्ट रूप से एक रिक्त स्थान पर आ जाता है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT RTRIM('Cat ')
FROM DUAL;
परिणाम:
आरटीआरआईएम ('कैट') _______________ कैट
यहाँ, मैंने यह निर्दिष्ट नहीं किया है कि किस वर्ण/चरित्र को ट्रिम करना है, और इसलिए प्रत्येक एकल रिक्त को स्ट्रिंग के दाहिने भाग से काट दिया गया था।
उपरोक्त उदाहरण के प्रभाव को देखना आसान नहीं है।
यहां एक और उदाहरण दिया गया है, जिसमें स्ट्रिंग को दूसरी स्ट्रिंग के साथ जोड़ा जा रहा है, जबकि आउटपुट की तुलना मूल (अनट्रिम्ड) स्ट्रिंग से की जा रही है:
SELECT 'Cat ' || 'Food'
FROM DUAL
UNION ALL
SELECT RTRIM('Cat ') || 'Food'
FROM DUAL;
परिणाम:
'CAT'||'food' ________________ कैट फ़ूड कैटफ़ूड
कोई वर्ण निर्दिष्ट करें
इस उदाहरण में मैं ट्रिम करने के लिए एक चरित्र निर्दिष्ट करता हूं। इससे प्रभाव देखना आसान हो जाता है:
SELECT RTRIM('...Cat...', '.')
FROM DUAL;
परिणाम:
RTRIM('...CAT...','.') _________________________ ...बिल्ली
तो हम देख सकते हैं कि चरित्र को दाईं ओर से ट्रिम किया गया था लेकिन बाईं ओर से नहीं। बाईं ओर ट्रिम करने के लिए, LTRIM()
use का उपयोग करें या TRIM()
।
ध्यान दें कि RTRIM()
सेट अप में केवल कैरेक्टर/कैरेक्टर को तब तक ट्रिम करता है जब तक कि कोई ऐसा कैरेक्टर न हो जो सेट में नहीं है। मेरे कहने का एक उदाहरण यहां दिया गया है:
SELECT RTRIM('Cat...B...', '.')
FROM DUAL;
परिणाम:
RTRIM('CAT...B...','.') __________________ Cat...B
हालांकि, अगर हम B
. शामिल करते हैं सेट में, तब हमें एक अलग परिणाम मिलता है:
SELECT RTRIM('Cat...B...', '.B')
FROM DUAL;
परिणाम:
RTRIM('CAT...B...','.B') ___________________ Cat
डेटाबेस उदाहरण
डेटाबेस कॉलम में मानों के दाहिने हिस्से को ट्रिम करने का एक उदाहरण यहां दिया गया है:
SELECT
country_name,
RTRIM(country_name, 'an') AS Trimmed
FROM countries
FETCH FIRST 5 ROWS ONLY;
परिणाम:
COUNTRY_NAME ने छंटनी की _______ ___________ अर्जेंटीना अर्जेंटीना ऑस्ट्रेलिया ऑस्ट्रेलिया बेल्जियम बेल्जियम ब्राजील ब्राजील कनाडा कनाडा
शून्य मान
यदि कोई तर्क null
है परिणाम null
है :
SET NULL 'null';
SELECT
RTRIM(null, 3),
RTRIM('Cat ', null),
RTRIM(null, null)
FROM DUAL;
परिणाम:
आरटीआरआईएम(नल,3)डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी
null
. खाली स्थान लौटाते हैं SQLSELECT
. के परिणामस्वरूप होता है बयान।हालांकि, आप
SET NULL
. का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंगnull
लौटाया जाना चाहिए।खाली स्ट्रिंग्स को ट्रिम करना
एक खाली स्ट्रिंग को दूसरे तर्क के रूप में पास करने के परिणामस्वरूप
null
. होता है :SET NULL 'null'; SELECT RTRIM('Cat ', '') FROM DUAL;
परिणाम:
RTRIM('CAT','') ___________ शून्यलेकिन खाली स्ट्रिंग में एक स्थान जोड़ने से वह बदल जाता है, और स्ट्रिंग के दाईं ओर से किसी भी रिक्त स्थान को ट्रिम कर देता है:
SELECT RTRIM('Cat ', ' ') FROM DUAL;
परिणाम:
RTRIM('CAT','') ___________ Catगलत तर्क गणना
कॉलिंग
RTRIM()
कोई तर्क पारित किए बिना एक त्रुटि देता है:SELECT RTRIM() FROM DUAL;
परिणाम:
त्रुटि शुरू करने में त्रुटि:1 कमांड में - चुनें <मेटा चारसेट ="utf-8"> RTRIM () कमांड लाइन पर DUALError से:1 कॉलम:8 त्रुटि रिपोर्ट - SQL त्रुटि:ORA-00938:फ़ंक्शन के लिए पर्याप्त तर्क नहीं हैं00938 . 00000 - "फ़ंक्शन के लिए पर्याप्त तर्क नहीं"*कारण:*कार्रवाई:और तर्कों की गलत संख्या पास करने से त्रुटि होती है:
SELECT RTRIM('Cat', 1, '>') FROM DUAL;
परिणाम:
लाइन से शुरू होने में त्रुटि:कमांड में 1 - चुनें <मेटा चारसेट ="यूटीएफ -8"> आरटीआरआईएम ('कैट', 1, '>') कमांड लाइन पर DUALError से:1 कॉलम:8 त्रुटि रिपोर्ट -एसक्यूएल त्रुटि:ORA-00939:function00939 के लिए बहुत अधिक तर्क। 00000 - "फ़ंक्शन के लिए बहुत अधिक तर्क"*कारण:*कार्रवाई: