कुछ RDBMS एक LPAD()
प्रदान करते हैं और RPAD()
फ़ंक्शन जो हमें एक स्ट्रिंग को बाएं पैड या दाएं पैड करने में सक्षम बनाता है। कुछ फ़ंक्शन हमें अग्रणी या अनुगामी शून्य संख्याओं को जोड़ने की अनुमति भी देते हैं।
कुछ अधिक लोकप्रिय RDBMS में SQL पैडिंग लागू करने के उदाहरण नीचे दिए गए हैं।
ओरेकल
Oracle हमें LPAD()
प्रदान करता है और RPAD()
विशेष रूप से किसी स्ट्रिंग के बाएँ या दाएँ भाग को पैडिंग करने के लिए:
SELECT LPAD('Cat', 20)
FROM DUAL;
परिणाम:
LPAD('CAT',20) _______________________ Cat
इस मामले में मैंने LPAD()
. का इस्तेमाल किया बाएं पैडिंग को लागू करने के लिए, और परिणामी स्ट्रिंग 20 वर्ण है, क्योंकि यही मैंने दूसरे तर्क के लिए उपयोग किया है।
परिणाम एक स्थान द्वारा गद्देदार है, क्योंकि यह पैडिंग के लिए उपयोग किया जाने वाला डिफ़ॉल्ट वर्ण है। यदि आप निर्दिष्ट नहीं करते हैं कि किस वर्ण से स्ट्रिंग को पैड करना है, तो एक स्थान का उपयोग किया जाता है।
पैडिंग के लिए किस वर्ण का उपयोग करना है, यह निर्दिष्ट करने के लिए आप एक तीसरा वर्ण जोड़ सकते हैं:
SELECT LPAD('7', 3, '0')
FROM DUAL;
परिणाम:
LPAD('7',3,'0') __________________ 007
इस मामले में मैंने शून्य के साथ एक संख्या को पैड किया (हालांकि, परिणाम एक स्ट्रिंग है)।
Oracle में एक TO_CHAR(number)
भी है फ़ंक्शन जिसका उपयोग किसी संख्या में अग्रणी शून्य जोड़ने के लिए किया जा सकता है:
SELECT TO_CHAR(7, 'fm000')
FROM DUAL;
परिणाम:
007
0
स्वरूप तत्व मूल संख्या में प्रत्येक अंक का प्रतिनिधित्व करता है, और शून्य यदि मूल संख्या में उस स्थिति में कोई अंक मौजूद नहीं है।
PostgreSQL
PostgreSQL का अपना LPAD()
भी है और RPAD()
कार्य:
SELECT
LPAD('7', 3, '0') AS "Left Padding",
RPAD('7', 3, '0') AS "Right Padding",
LPAD(RPAD('7', 3, '0'), 5, '0') AS "Both";
परिणाम:
Left Padding | Right Padding | Both --------------+---------------+------- 007 | 700 | 00700
और इसका अपना TO_CHAR()
भी है फ़ंक्शन जो Oracle के समान नाम के फ़ंक्शन की तरह काम करता है:
SELECT TO_CHAR(7, 'fm000');
परिणाम:
007
मारियाडीबी
मारियाडीबी का अपना LPAD()
है और RPAD()
कार्य:
SELECT
LPAD('7', 3, '0') AS "Left Padding",
RPAD('7', 3, '0') AS "Right Padding",
LPAD(RPAD('7', 3, '0'), 5, '0') AS "Both";
परिणाम:
+--------------+---------------+-------+ | Left Padding | Right Padding | Both | +--------------+---------------+-------+ | 007 | 700 | 00700 | +--------------+---------------+-------+
और जबकि मारियाडीबी का अपना TO_CHAR()
है फ़ंक्शन, यह संख्याओं पर काम नहीं करता है (यह डेटाटाइम मानों तक सीमित है)।
MySQL
MySQL का अपना LPAD()
भी है और RPAD()
कार्य।
यहां LPAD()
का उपयोग करने का एक उदाहरण दिया गया है डेटाबेस कॉलम के सामने:
SELECT Genre, LPAD(Genre, 10, '.')
FROM Genres;
परिणाम:
+---------+----------------------+ | Genre | LPAD(Genre, 10, '.') | +---------+----------------------+ | Rock | ......Rock | | Jazz | ......Jazz | | Country | ...Country | | Pop | .......Pop | | Blues | .....Blues | | Hip Hop | ...Hip Hop | | Rap | .......Rap | | Punk | ......Punk | +---------+----------------------+
एसक्यूएल सर्वर
SQL सर्वर इस मायने में एक विसंगति है कि इसमें LPAD()
नहीं है या RPAD()
समारोह।
हालाँकि, SQL सर्वर में एक FORMAT()
होता है फ़ंक्शन जो हमें अग्रणी शून्य के साथ संख्याओं को आसानी से पैड करने में सक्षम बनाता है:
SELECT FORMAT(7, '000');
परिणाम:
007
दूसरा तर्क एक कस्टम संख्यात्मक प्रारूप स्ट्रिंग है जो निर्धारित करता है कि परिणामी स्ट्रिंग में कितने वर्ण होंगे। तथ्य यह है कि मैंने शून्य का उपयोग किया है, इसका मतलब है कि यदि आवश्यक हो तो परिणाम में अग्रणी शून्य होगा।
SQL सर्वर में स्ट्रिंग्स को पैड करने के लिए, हम कुछ इस तरह कर सकते हैं:
SELECT RIGHT('.......' + 'Cat', 7);
परिणाम:
....Cat
SQL सर्वर में पैडिंग लगाने के लिए हम कई अन्य तकनीकों का उपयोग कर सकते हैं।