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: