मारियाडीबी में, LPAD()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो एक निश्चित संख्या में वर्णों के साथ स्ट्रिंग के बाएं भाग को पैड करता है।
उदाहरण के लिए, आप LPAD()
. का उपयोग कर सकते हैं रिक्त स्थान के साथ एक स्ट्रिंग के बाएँ भाग को पैड करने के लिए। या आप किसी संख्या को अग्रणी शून्य से पैड कर सकते हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
LPAD(str, len [, padstr])
जहां str
पैड के लिए स्ट्रिंग है, और len
स्ट्रिंग को पैड करने के लिए वर्णों की संख्या है। ध्यान दें कि यह पैडिंग की मात्रा नहीं है, बल्कि यह वर्णों की कुल संख्या है जो लौटाए गए स्ट्रिंग में पैड किए जाने के बाद होगी।
padstr
एक वैकल्पिक तर्क है जो निर्दिष्ट करता है कि पैडिंग के लिए किस वर्ण का उपयोग करना है।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT LPAD('Lion', 8);
परिणाम:
+-----------------+ | LPAD('Lion', 8) | +-----------------+ | Lion | +-----------------+
इस मामले में, हमने तीसरा तर्क निर्दिष्ट नहीं किया (पैडिंग वर्ण के लिए), और इसलिए एक स्थान का उपयोग किया गया था। स्पेस कैरेक्टर डिफ़ॉल्ट कैरेक्टर है।
पैडिंग कैरेक्टर निर्दिष्ट करें
यहां एक उदाहरण दिया गया है जो तीसरे तर्क का उपयोग करता है। यह निर्दिष्ट करता है कि पैडिंग के लिए किस वर्ण का उपयोग करना है:
SELECT LPAD('Lion', 8, '.');
परिणाम:
+----------------------+ | LPAD('Lion', 8, '.') | +----------------------+ | ....Lion | +----------------------+
डॉट्स हमें पैडिंग को अधिक स्पष्ट रूप से देखने में सक्षम बनाते हैं।
पैडिंग नंबर
यहां किसी संख्या को शून्य से भरने का एक उदाहरण दिया गया है:
SELECT LPAD(7, 3, 0);
परिणाम:
+---------------+ | LPAD(7, 3, 0) | +---------------+ | 007 | +---------------+
मूल स्ट्रिंग से छोटी पैडिंग
यदि दूसरा तर्क मूल स्ट्रिंग से कम है, तो कोई पैडिंग नहीं जोड़ा जाता है, और मूल स्ट्रिंग को निर्दिष्ट वर्णों की संख्या तक छोटा कर दिया जाता है:
SELECT LPAD('Lion', 2);
परिणाम:
+-----------------+ | LPAD('Lion', 2) | +-----------------+ | Li | +-----------------+
डेटाबेस उदाहरण
डेटाबेस कॉलम में मानों के बाएं हिस्से को पैडिंग करने का एक उदाहरण यहां दिया गया है:
SELECT
LPAD(PetName, 15, '.') AS "Padded Name",
PetName AS "Original Name"
FROM Pets;
परिणाम:
+-----------------+---------------+ | Padded Name | Original Name | +-----------------+---------------+ | .........Fluffy | Fluffy | | ..........Fetch | Fetch | | ........Scratch | Scratch | | ............Wag | Wag | | ..........Tweet | Tweet | | .........Fluffy | Fluffy | | ...........Bark | Bark | | ...........Meow | Meow | +-----------------+---------------+
यहां एक और उदाहरण दिया गया है जो मूल्य कॉलम को पैड करता है:
SELECT
ProductId,
ProductPrice,
LPAD(ProductPrice, 8, 0)
FROM Products;
परिणाम:
+-----------+--------------+--------------------------+ | ProductId | ProductPrice | LPAD(ProductPrice, 8, 0) | +-----------+--------------+--------------------------+ | 1 | 25.99 | 00025.99 | | 2 | 25.99 | 00025.99 | | 3 | 14.75 | 00014.75 | | 4 | 11.99 | 00011.99 | | 5 | 33.49 | 00033.49 | | 6 | 245.00 | 00245.00 | | 7 | 55.99 | 00055.99 | | 8 | 9.99 | 00009.99 | +-----------+--------------+--------------------------+
अशक्त तर्क
यदि कोई (या सभी) तर्क null
. हैं , LPAD()
फ़ंक्शन रिटर्न null
:
SELECT
LPAD(null, 10, '.'),
LPAD('Coffee', null, '.'),
LPAD('Coffee', 10, null);
परिणाम:
+---------------------+---------------------------+--------------------------+ | LPAD(null, 10, '.') | LPAD('Coffee', null, '.') | LPAD('Coffee', 10, null) | +---------------------+---------------------------+--------------------------+ | NULL | NULL | NULL | +---------------------+---------------------------+--------------------------+
Oracle मोड
जब नहीं ओरेकल मोड में चल रहा है, यदि परिणाम खाली है (यानी इसकी लंबाई शून्य है) तो परिणाम एक खाली स्ट्रिंग है।
हालाँकि, Oracle मोड में चलने पर, परिणाम null
. होता है ।
यहाँ यह डिफ़ॉल्ट मोड में है (अर्थात नहीं Oracle मोड में):
SELECT LPAD('', 0);
परिणाम:
+-------------+ | LPAD('', 0) | +-------------+ | | +-------------+
आइए अब Oracle मोड में स्विच करें:
SET SQL_MODE=ORACLE;
और कोड को फिर से चलाएँ:
SELECT LPAD('', 0);
परिणाम:
+-------------+ | LPAD('', 0) | +-------------+ | NULL | +-------------+
अनुपलब्ध तर्क
कॉलिंग LPAD()
कम से कम दो तर्कों के बिना त्रुटि उत्पन्न होती है:
SELECT LPAD('Coffee');
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LPAD'
LPAD()
calling को कॉल करते समय भी ऐसा ही होता है बिना किसी तर्क के:
SELECT LPAD();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LPAD'