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

Oracle SQL क्वेरी में किसी संख्या में अग्रणी शून्य कैसे जोड़ें?

आप इसे दो तरह से कर सकते हैं।

विधि 1

एलपीएडी का उपयोग करना ।

उदाहरण के लिए,

SQL> WITH DATA(num) AS(
  2  SELECT 540 FROM dual UNION ALL
  3  SELECT 60 FROM dual UNION ALL
  4  SELECT 2 FROM dual
  5  )
  6  SELECT num, lpad(num, 5, '0') num_pad FROM DATA;

       NUM NUM_P
---------- -----
       540 00540
        60 00060
         2 00002

SQL>

WITH क्लॉज केवल डेमो के लिए नमूना डेटा बनाने के लिए है, अपनी वास्तविक क्वेरी में बस करें:

lpad(removal_count, 5, '0')

याद रखें, एक संख्या अग्रणी शून्य . नहीं हो सकते . उपरोक्त क्वेरी का आउटपुट एक स्ट्रिंग . है और संख्या . नहीं ।

विधि 2

TO_CHAR का उपयोग करना और प्रारूप मॉडल:

SQL> WITH DATA(num) AS(
  2  SELECT 540 FROM dual UNION ALL
  3  SELECT 60 FROM dual UNION ALL
  4  SELECT 2 FROM dual
  5  )
  6  SELECT num, to_char(num, '00000') num_pad FROM DATA;

       NUM NUM_PA
---------- ------
       540  00540
        60  00060
         2  00002

SQL>

अपडेट करें :अतिरिक्त अग्रणी स्थान से बचने के लिए जिसका उपयोग ऋण चिह्न के लिए किया जाता है, FM . का उपयोग करें TO_CHAR . में प्रारूप:

बिना FM:

SELECT TO_CHAR(1, '00000') num_pad,
  LENGTH(TO_CHAR(1, '00000')) tot_len
FROM dual;

NUM_PAD    TOT_LEN
------- ----------
 00001           6 

एफएम के साथ:

SELECT TO_CHAR(1, 'FM00000') num_pad,
  LENGTH(TO_CHAR(1, 'FM00000')) tot_len
FROM dual;

NUM_PAD    TOT_LEN
------- ----------
00001            5


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GI 12.2 अपग्रेड के लिए ASM में VOTE डिस्कग्रुप बढ़ाएँ

  2. स्वचालित रोलबैक स्क्रिप्ट oracle

  3. एकल क्वेरी का उपयोग करके एकाधिक तालिका स्तंभ मान अपडेट करें

  4. 2 कार्य जो Oracle में एक तिथि से महीना लौटाते हैं

  5. मैं अपने मामले में Oracle में SQL कैसे लिख सकता हूँ?