मारियाडीबी में, RPAD()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो एक निर्दिष्ट वर्ण की एक निश्चित संख्या के साथ स्ट्रिंग के दाहिने हिस्से को पैड करता है।
उदाहरण के लिए, आप RPAD()
. का उपयोग कर सकते हैं एक स्ट्रिंग के दाहिने हिस्से को डॉट्स के साथ पैड करने के लिए।
सिंटैक्स
वाक्य रचना इस प्रकार है:
RPAD(str, len [, padstr])
जहां str
पैड के लिए स्ट्रिंग है, और len
स्ट्रिंग को पैड करने के लिए वर्णों की संख्या है। ध्यान दें कि यह पैडिंग की मात्रा नहीं है, बल्कि यह वर्णों की कुल संख्या है जो लौटाए गए स्ट्रिंग में पैड किए जाने के बाद होगी।
padstr
एक वैकल्पिक तर्क है जो निर्दिष्ट करता है कि पैडिंग के लिए किस वर्ण का उपयोग करना है।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT
RPAD('Fire', 8) AS "1",
RPAD('Fire', 15) AS "2",
'Fire' AS "3";
परिणाम:
+----------+-----------------+------+ | 1 | 2 | 3 | +----------+-----------------+------+ | Fire | Fire | Fire | +----------+-----------------+------+
स्पेस कैरेक्टर डिफ़ॉल्ट कैरेक्टर है। इसलिए, यदि आप तीसरा तर्क शामिल नहीं करते हैं, तो एक स्थान का उपयोग किया जाता है। इस मामले में, हमने तीसरा तर्क निर्दिष्ट नहीं किया, और इसलिए एक स्थान का उपयोग किया गया था।
यह उदाहरण तीन कॉलम देता है। मैंने ऐसा आपके लिए RPAD()
. के प्रभाव को देखना आसान बनाने के लिए किया था और स्पष्टता से। पैडिंग में कॉलम की चौड़ाई को निर्दिष्ट पैडिंग लंबाई तक धकेलने का प्रभाव होता है।
इस मामले में, पहले दो कॉलम दो अलग-अलग पैडिंग लंबाई का उपयोग करते हैं, और तीसरा एक मूल (बिना पैड वाला) स्ट्रिंग है।
पैडिंग कैरेक्टर निर्दिष्ट करें
यहां एक उदाहरण दिया गया है जो तीसरे तर्क का उपयोग करता है। यह निर्दिष्ट करता है कि पैडिंग के लिए किस वर्ण का उपयोग करना है:
SELECT RPAD('Fire', 15, '.');
परिणाम:
+-----------------------+ | RPAD('Fire', 15, '.') | +-----------------------+ | Fire........... | +-----------------------+
डॉट्स हमें पैडिंग को अधिक स्पष्ट रूप से देखने में सक्षम बनाते हैं।
मूल स्ट्रिंग से छोटी पैडिंग
यदि दूसरा तर्क मूल स्ट्रिंग से कम है, तो कोई पैडिंग नहीं जोड़ा जाता है, और मूल स्ट्रिंग को निर्दिष्ट वर्णों की संख्या तक छोटा कर दिया जाता है:
SELECT RPAD('Enlightenment', 7);
परिणाम:
+--------------------------+ | RPAD('Enlightenment', 7) | +--------------------------+ | Enlight | +--------------------------+
डेटाबेस उदाहरण
डेटाबेस कॉलम में मानों के दाहिने हिस्से को पैडिंग करने का एक उदाहरण यहां दिया गया है:
SELECT
RPAD(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 | +-----------------+---------------+
अशक्त तर्क
यदि कोई (या सभी) तर्क null
. हैं , RPAD()
फ़ंक्शन रिटर्न null
:
SELECT
RPAD(null, 10, '.'),
RPAD('Coffee', null, '.'),
RPAD('Coffee', 10, null);
परिणाम:
+---------------------+---------------------------+--------------------------+ | RPAD(null, 10, '.') | RPAD('Coffee', null, '.') | RPAD('Coffee', 10, null) | +---------------------+---------------------------+--------------------------+ | NULL | NULL | NULL | +---------------------+---------------------------+--------------------------+
Oracle मोड
जब नहीं ओरेकल मोड में चल रहा है, यदि परिणाम खाली है (यानी इसकी लंबाई शून्य है) तो परिणाम एक खाली स्ट्रिंग है।
हालाँकि, Oracle मोड में चलने पर, परिणाम null
. होता है ।
यहाँ यह डिफ़ॉल्ट मोड में है (अर्थात नहीं Oracle मोड में):
SELECT RPAD('', 0);
परिणाम:
+-------------+ | RPAD('', 0) | +-------------+ | | +-------------+
आइए अब Oracle मोड में स्विच करें:
SET SQL_MODE=ORACLE;
और कोड को फिर से चलाएँ:
SELECT RPAD('', 0);
परिणाम:
+-------------+ | RPAD('', 0) | +-------------+ | NULL | +-------------+
अनुपलब्ध तर्क
कॉलिंग RPAD()
कम से कम दो तर्कों के बिना त्रुटि उत्पन्न होती है:
SELECT RPAD('Coffee');
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'RPAD'
RPAD()
calling को कॉल करते समय भी ऐसा ही होता है बिना किसी तर्क के:
SELECT RPAD();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'RPAD'