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

SQLite में अल्पविराम के साथ प्रारूप संख्याएँ

SQLite में एक printf() होता है फ़ंक्शन या format() फ़ंक्शन जो हमें प्रारूप स्ट्रिंग के अनुसार संख्याओं को प्रारूपित करने की अनुमति देता है।

SQLite 3.18.0 की तरह, यह एक अल्पविराम ध्वज को स्वीकार करता है, जो हमें पूर्णांकों के लिए हजारों अंकों पर अल्पविराम विभाजक रखने में सक्षम बनाता है।

इसे वास्तविक/अस्थायी बिंदु संख्याओं के साथ काम करने के लिए आगे काम किया जा सकता है।

उदाहरण

यहां एक पूर्णांक को अल्पविराम से हज़ार विभाजक के रूप में स्वरूपित करने का एक उदाहरण दिया गया है:

SELECT printf("%,d", 123456789);

परिणाम:

123,456,789

"%,d" . का प्रारूप स्ट्रिंग इस परिणाम को निर्धारित किया है।

असली/अस्थायी बिंदु संख्याएं

उपरोक्त समाधान केवल तभी काम करता है जब संख्या को उसके भिन्नात्मक भाग के बिना लौटाया जाता है।

आइए उस प्रारूप स्ट्रिंग को वास्तविक संख्या पर लागू करें:

SELECT printf("%,d", 1234567.4567);

परिणाम:

1,234,567

हमें अभी भी समूह विभाजक के रूप में अल्पविराम मिलते हैं, क्योंकि हमारे प्रारूप स्ट्रिंग में भिन्नात्मक भाग शामिल नहीं होता है।

आंशिक भाग को वापस करने का तरीका यहां दिया गया है:

SELECT printf("%.2f", 1234567.4567);

परिणाम:

1234567.46

यहां, "%.2f" . की प्रारूप स्ट्रिंग निर्दिष्ट करता है कि परिणाम में दो दशमलव स्थान शामिल होने चाहिए। हम "%.3f" . का उपयोग कर सकते हैं तीन दशमलव स्थानों के लिए, और इसी तरह।

आप मान सकते हैं कि हम निम्नलिखित कार्य कर सकते हैं:

SELECT printf("%,d.2f", 1234567.4567);

परिणाम:

1,234,567.2f

लेकिन यह स्पष्ट रूप से काम नहीं किया।

SQLite हमें संख्याओं के लिए व्यापक स्वरूपण क्षमता प्रदान नहीं करता है। संख्या स्वरूपण काफी शामिल हो सकता है, और आमतौर पर आवेदन स्तर पर स्वरूपण लागू करना बेहतर होता है।

उस ने कहा, अगर आपको वास्तव में SQLite में ऐसा करने की ज़रूरत है, तो आप अल्पविराम के साथ पूर्णांक भाग को स्वरूपित करने का प्रयास कर सकते हैं, फिर इसे दशमलव भाग के साथ जोड़ सकते हैं।

उदाहरण के लिए, मान लें कि हमारे पास price . नामक एक डेटाबेस कॉलम है , जो निम्न परिणाम देता है:

SELECT price FROM Products;

परिणाम:

5457.99   
1238999.99
11.357    
3.49      
3.0001    
1234567.89
1499.5    
9.49      
149  

हम निम्नलिखित पंक्तियों के साथ कुछ कर सकते हैं ताकि उन सभी नंबरों को हजारों विभाजक और . के साथ प्रारूपित किया जा सके एक दशमलव बिंदु:

SELECT
    printf("%,d", price) 
    || 
    substr(
    printf("%.2f", price), 
    instr(printf("%.2f", price), "."), 
    length(printf("%.2f", price)) - instr(printf("%.2f", price), ".") + 1
    )
FROM Products;

परिणाम:

5,457.99                                                                                                                                                                                     
1,238,999.99                                                                                                                                                                                 
11.36                                                                                                                                                                                        
3.49                                                                                                                                                                                         
3.00                                                                                                                                                                                         
1,234,567.89                                                                                                                                                                                 
1,499.50                                                                                                                                                                                     
9.49                                                                                                                                                                                         
149.00   

format() समारोह

SQLite 3.38.0 (22 फरवरी 2022 को जारी) का नाम बदलकर printf() कर दिया गया format() . पर काम करता है . मूल printf() नाम को पश्चगामी संगतता के लिए उपनाम के रूप में रखा जाता है।

इसलिए, इस पृष्ठ पर पहला उदाहरण निम्नानुसार बदला जा सकता है:

SELECT format("%,d", 123456789);

परिणाम:

123,456,789

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite में GROUP_CONCAT

  2. स्क्लाइट डेटाबेस में उनके नाम के अनुसार ड्रा करने योग्य से छवि कैसे प्राप्त करें और फिर इसे सूची दृश्य में प्रदर्शित करें

  3. SQLite कुल कार्य

  4. वर्डनेट एसक्लाइट समानार्थक शब्द और नमूने

  5. क्या डेटाबेस संचालन को संभालने के लिए ContentProvider का उपयोग करना अच्छा अभ्यास है?