PostgreSQL में, हम TO_CHAR()
. का उपयोग कर सकते हैं किसी संख्या में अग्रणी शून्य जोड़ने का कार्य करता है। फ़ंक्शन हमारे द्वारा निर्दिष्ट (वैकल्पिक) प्रारूप का उपयोग करके संख्या को एक स्ट्रिंग में परिवर्तित करता है।
एक अन्य विकल्प LPAD()
. का उपयोग करना है अग्रणी शून्य वाली संख्या को पैड करने के लिए कार्य करता है।
द TO_CHAR()
समारोह
TO_CHAR()
. का उपयोग करते समय फ़ंक्शन, 0
. का उपयोग करें प्रमुख और/या अनुगामी शून्य शामिल करने के लिए स्वरूप तत्व।
उदाहरण:
SELECT TO_CHAR(7, 'fm000');
परिणाम:
007
यहाँ यह 9
. से तुलना करने पर है प्रारूप तत्व:
SELECT
TO_CHAR(7, 'fm999') AS "9",
TO_CHAR(7, 'fm000') AS "0";
परिणाम:
9 | 0 ---+----- 7 | 007
अग्रणी शून्यों की संख्या 0
. की संख्या से निर्धारित होती है स्वरूप तत्व और संख्या में अंकों की संख्या:
SELECT
TO_CHAR(77, 'fm0') AS "r1",
TO_CHAR(77, 'fm00000') AS "r2",
TO_CHAR(777, 'fm00000') AS "r3",
TO_CHAR(7777, 'fm00000') AS "r4",
TO_CHAR(77777, 'fm00000') AS "r5";
परिणाम:
r1 | r2 | r3 | r4 | r5 ----+-------+-------+-------+------- # | 00077 | 00777 | 07777 | 77777
fm
प्रारूप संशोधक किसी भी अग्रणी और/या पिछली पैडिंग को दबा देता है जिसे परिणाम में शामिल किया जा सकता है। उदाहरण के लिए, जब संख्या ऋणात्मक होती है, तो ऋण चिह्न पहले से लगाया जाता है। लेकिन जब संख्या धनात्मक होती है, तो कोई चिह्न शामिल नहीं होता है, और एक स्थान प्रकट होता है जहाँ धन चिह्न होता।
इसे प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT
TO_CHAR(-7, '000') AS "Minus Sign",
TO_CHAR(7, '000') AS "Padded",
TO_CHAR(7, 'fm000') AS "Not Padded";
परिणाम:
Minus Sign | Padded | Not Padded ------------+--------+------------ -007 | 007 | 007
द LPAD()
समारोह
हम वैकल्पिक रूप से LPAD()
. का उपयोग कर सकते हैं अग्रणी शून्य के साथ पैड नंबरों के लिए कार्य:
SELECT LPAD('7', 3, '0');
परिणाम:
007
एक और उदाहरण:
SELECT
LPAD('77', 1, '0') AS "r1",
LPAD('77', 5, '0') AS "r2",
LPAD('777', 5, '0') AS "r3",
LPAD('7777', 5, '0') AS "r4",
LPAD('77777', 5, '0') AS "r5";
परिणाम:
r1 | r2 | r3 | r4 | r5 ----+-------+-------+-------+------- 7 | 00077 | 00777 | 07777 | 77777
ध्यान दें कि इस फ़ंक्शन के लिए आवश्यक है कि संख्या को एक स्ट्रिंग के रूप में पास किया जाए। इसलिए, हमें पहले संख्या को एक स्ट्रिंग में बदलने की आवश्यकता है। पैडिंग कैरेक्टर भी एक स्ट्रिंग होना चाहिए।
तो हमें कुछ ऐसा करना पड़ सकता है:
SELECT LPAD(CAST(7 AS varchar), 3, '0');
परिणाम:
007
उन लाभों में से एक जो LPAD()
पिछली विधि की तुलना में यह है कि हम परिणाम को अन्य वर्णों के उपसर्ग कर सकते हैं - इसके लिए एक अग्रणी शून्य होने की आवश्यकता नहीं है।
SELECT
LPAD('77', 1, '.') AS "r1",
LPAD('77', 5, '.') AS "r2",
LPAD('777', 5, '.') AS "r3",
LPAD('7777', 5, '.') AS "r4",
LPAD('77777', 5, '.') AS "r5";
परिणाम:
r1 | r2 | r3 | r4 | r5 ----+-------+-------+-------+------- 7 | ...77 | ..777 | .7777 | 77777