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
. खाली स्थान लौटाते हैं SQLSELECT
. के परिणामस्वरूप होता है बयान।हालांकि, आप
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 - "फ़ंक्शन के लिए बहुत अधिक तर्क"*कारण:*कार्रवाई: