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

ओरेकल में एलटीआरआईएम () फ़ंक्शन

Oracle में, LTRIM() फ़ंक्शन आपको स्ट्रिंग के बाएं हिस्से को ट्रिम करने की अनुमति देता है। डिफ़ॉल्ट रूप से, यह सफेद स्थान को ट्रिम कर देता है, लेकिन आप वैकल्पिक रूप से ट्रिम करने के लिए एक भिन्न वर्ण या वर्ण निर्दिष्ट कर सकते हैं।

सिंटैक्स

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

LTRIM(char [, set ])

जहां char और set कोई भी डेटा प्रकार हो सकता है CHAR , VARCHAR2 , NCHAR , NVARCHAR2 , CLOB , या NCLOB

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

उदाहरण

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

SELECT LTRIM('     Cat')
FROM DUAL;

परिणाम:

   LTRIM('CAT') 
_______________ 
Cat            

इस मामले में मैंने निर्दिष्ट नहीं किया कि किस वर्ण को ट्रिम करना है, और इसलिए प्रत्येक एकल रिक्त को स्ट्रिंग के बाएं भाग से ट्रिम किया गया था।

मूल (गैर-गद्देदार) स्ट्रिंग की तुलना में यह फिर से है:

SELECT '     Cat'
FROM DUAL
UNION ALL
SELECT LTRIM('     Cat')
FROM DUAL;

परिणाम:

      'CAT' 
___________ 
     Cat    
Cat        

कोई वर्ण निर्दिष्ट करें

इस उदाहरण में मैं ट्रिम करने के लिए एक चरित्र निर्दिष्ट करता हूं:

SELECT LTRIM('...Cat...', '.')
FROM DUAL;

परिणाम:

   LTRIM('...CAT...','.') 
_________________________ 
Cat...                    

तो हम देख सकते हैं कि कैरेक्टर को लेफ्ट साइड से ट्रिम किया गया था लेकिन राइट साइड से नहीं। दाईं ओर ट्रिम करने के लिए, RTRIM() का उपयोग करें या TRIM()

ध्यान दें कि LTRIM() सेट अप में केवल कैरेक्टर/कैरेक्टर को तब तक ट्रिम करता है जब तक कि कोई ऐसा कैरेक्टर न हो जो सेट में नहीं है। मेरे कहने का एक उदाहरण यहां दिया गया है:

SELECT LTRIM('...A...Cat', '.')
FROM DUAL;

परिणाम:

   LTRIM('...A...CAT','.') 
__________________________ 
A...Cat                   

हालांकि, अगर हम A . शामिल करते हैं सेट में, तब हमें एक अलग परिणाम मिलता है:

SELECT LTRIM('...A...Cat', '.A')
FROM DUAL;

परिणाम:

   LTRIM('...A...CAT','.A') 
___________________________ 
Cat                        

डेटाबेस उदाहरण

डेटाबेस कॉलम में मानों के बाएं हिस्से को ट्रिम करने का एक उदाहरण यहां दिया गया है:

SELECT 
    country_name,
    LTRIM(country_name, 'Ar') AS Trimmed
FROM countries
FETCH FIRST 5 ROWS ONLY;

परिणाम:

   COUNTRY_NAME     TRIMMED 
_______________ ___________ 
Argentina       gentina     
Australia       ustralia    
Belgium         Belgium     
Brazil          Brazil      
Canada          Canada     

शून्य मान

यदि कोई तर्क null है परिणाम null है :

SET NULL 'null';

SELECT 
    LTRIM(null, 3),
    LTRIM(' Cat', null),
    LTRIM(null, null)
FROM DUAL;

परिणाम:

   LTRIM(NULL,3)    LTRIM('CAT',NULL)    LTRIM(NULL,NULL) 
________________ ____________________ ___________________ 
null             null                 null               

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

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

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

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

SET NULL 'null';

SELECT LTRIM('   Cat', '')
FROM DUAL;

परिणाम:

   LTRIM('CAT','') 
__________________ 
null              

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

SELECT LTRIM('   Cat', ' ')
FROM DUAL;

परिणाम:

   LTRIM('CAT','') 
__________________ 
Cat               

गलत तर्क गणना

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

SELECT LTRIM()
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT LTRIM()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00938: not enough arguments for function
00938. 00000 -  "not enough arguments for function"
*Cause:    
*Action:

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

SELECT LTRIM('Cat', 1, '>')
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT LTRIM('Cat', 1, '>')
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00939: too many arguments for function
00939. 00000 -  "too many arguments for function"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मौजूद है / मौजूद नहीं है:'1 चुनें' बनाम 'फ़ील्ड चुनें'

  2. MONTHS_BETWEEN () Oracle में फ़ंक्शन

  3. varchar2(n BYTE|CHAR) डिफ़ॉल्ट -> CHAR या BYTE

  4. Oracle में दूसरा सबसे न्यूनतम मान चुनें

  5. Oracle में DatedIFF फ़ंक्शन