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

Oracle में RTRIM () फ़ंक्शन

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 . खाली स्थान लौटाते हैं SQL SELECT . के परिणामस्वरूप होता है बयान।

हालांकि, आप 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 - "फ़ंक्शन के लिए बहुत अधिक तर्क"*कारण:*कार्रवाई:

  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 स्ट्रीम में सक्षम रखना

  2. Oracle/TOAD में संकलन त्रुटि के बारे में जानकारी कैसे प्राप्त करें?

  3. सी # का उपयोग कर एक .SQL स्क्रिप्ट फ़ाइल को कैसे निष्पादित करें

  4. Oracle.DataAccess.Client.OracleException ORA-03135:कनेक्शन खो गया संपर्क

  5. oracle NCHAR या NVARCHAR कॉलम में राष्ट्रीय वर्ण डालने से काम नहीं चलता