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

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

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

जिस तरह से यह काम करता है, आप निर्दिष्ट करते हैं कि परिणामी स्ट्रिंग कितनी देर तक होनी चाहिए। यदि मूल स्ट्रिंग छोटी है, तो शेष स्थान में पैडिंग वर्ण भर जाता है।

सिंटैक्स

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

LPAD(expr1, n [, expr2 ]) 

कहां:

  • expr1 और expr2 कोई भी डेटा प्रकार हो सकता है CHAR , VARCHAR2 , NCHAR , NVARCHAR2 , CLOB , या NCLOB .
  • n एक NUMBER है पूर्णांक या एक मान जिसे परोक्ष रूप से NUMBER . में परिवर्तित किया जा सकता है पूर्णांक।

फ़ंक्शन expr1 लौटाता है , बाएँ-गद्देदार लंबाई तक n expr2 . में वर्णों के अनुक्रम वाले वर्ण

अगर expr2 छोड़ा गया है, पैडिंग कैरेक्टर एक खाली है।

उदाहरण

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

 SELECT LPAD('Cat', 5)
FROM DUAL; 

परिणाम:

 LPAD('CAT',5) _________ Cat 

ध्यान दें कि प्रदान की गई संख्या परिणामी स्ट्रिंग की कुल चौड़ाई है - नहीं पैडिंग की मात्रा।

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

SELECT LPAD('Cat', 5)
FROM DUAL
UNION ALL
SELECT 'Cat'
FROM DUAL; 

परिणाम:

 LPAD('CAT',5) _________ Cat Cat 

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

इस उदाहरण में मैं पैडिंग के लिए उपयोग करने के लिए एक वर्ण निर्दिष्ट करता हूं:

SELECT LPAD('Cat', 5, '>')
FROM DUAL; 

परिणाम:

 LPAD('CAT',5,'>') ____________________>> Cat 

मूल स्ट्रिंग से छोटी पैडिंग

यदि दूसरा तर्क मूल स्ट्रिंग से कम है, तो कोई पैडिंग नहीं जोड़ा जाता है, और मूल स्ट्रिंग को निर्दिष्ट वर्णों की संख्या तक छोटा कर दिया जाता है:

 SELECT LPAD('Cat', 2)
FROM DUAL; 

परिणाम:

 LPAD('CAT',2) _________ Ca 

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

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

SELECT 
    country_name,
    LPAD(country_name, 12, '.') AS Padded
FROM countries
FETCH FIRST 5 ROWS ONLY; 

परिणाम:

 COUNTRY_NAME PADDED _______________ _______________ अर्जेंटीना ...अर्जेंटीना ऑस्ट्रेलिया ...ऑस्ट्रेलिया बेल्जियम .....बेल्जियम ब्राजील ......ब्राजील कनाडा ......कनाडा 

शून्य मान

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

SET NULL 'null';

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

परिणाम:

 LPAD(NULL,3) LPAD('CAT',NULL) LPAD('CAT',3,NULL) _______________ 

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

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

गलत तर्क गणना

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

 SELECT LPAD()
FROM DUAL; 

परिणाम:

 लाइन से शुरू होने में त्रुटि:कमांड में 1 - कमांड लाइन पर DUALError से LPAD () का चयन करें:1 कॉलम:8 त्रुटि रिपोर्ट - SQL त्रुटि:ORA-00938:function00938 के लिए पर्याप्त तर्क नहीं। 00000 - "फ़ंक्शन के लिए पर्याप्त तर्क नहीं"*कारण:*कार्रवाई:

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

SELECT LPAD('Cat', 1, '>', 2)
FROM DUAL; 

परिणाम:

पंक्ति से शुरू होने में त्रुटि:कमांड में 1 - LPAD चुनें ('कैट', 1, '>', 2) कमांड लाइन पर DUALError से:1 कॉलम:28 त्रुटि रिपोर्ट - SQL त्रुटि:ORA-00939:के लिए बहुत सारे तर्क समारोह00939. 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. ऑरैकल में कॉलम द्वारा दो टेबल कॉलम की तुलना कैसे करें

  2. Oracle अनुक्रम लेकिन फिर MS SQL सर्वर में

  3. ORA-00054:संसाधन व्यस्त है और NOWAIT निर्दिष्ट या समय समाप्त होने के साथ प्राप्त करें

  4. ऑरैकल इन क्लॉज में केवल स्थिर डेटा के लिए 1000 की सीमा क्यों है?

  5. ODP.NET के साथ नाम से बाध्यकारी क्वेरी पैरामीटर