PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL में अग्रणी शून्य जोड़ने के 2 तरीके

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pgAdmin III क्वेरी परिणामों को छोटा क्यों किया जाता है?

  2. डिवीजन (/) पोस्टग्रेस्क्ल में मेरा जवाब नहीं दे रहा है

  3. PostgreSQL में यूजर कैसे बनाएं

  4. मैं अपने मौजूदा रेल ऐप को उसकेोकू पर कैसे स्थानांतरित करूं? (एसक्लाइट पोस्टग्रेज करने के लिए)

  5. PostgreSQL के लिए अपग्रेड प्रक्रिया का स्वचालित परीक्षण