अधिकांश प्रमुख आरडीबीएमएस में ऐसे कार्य होते हैं जो हमें अल्पविराम के साथ संख्याओं को समूह विभाजक या दशमलव विभाजक के रूप में प्रारूपित करने में सक्षम बनाते हैं।
कुछ RDBMS प्रासंगिक स्थान पर अल्पविराम के साथ कुछ संख्यात्मक डेटा प्रकार भी आउटपुट करते हैं।
कुछ अधिक लोकप्रिय DBMS में अल्पविरामों के साथ संख्याओं को स्वरूपित करने के उदाहरण नीचे दिए गए हैं।
MySQL
MySQL में, हम FORMAT()
का उपयोग कर सकते हैं संख्याओं को अल्पविराम से प्रारूपित करने का कार्य:
SELECT FORMAT(123456.789, 2);
परिणाम:
123,456.79
यह निर्दिष्ट करने की कोई आवश्यकता नहीं है कि अल्पविराम कहाँ जाना चाहिए। फ़ंक्शन जानता है कि उन्हें कहां रखा जाए।
यह फ़ंक्शन लोकेल निर्दिष्ट करने के लिए तीसरे तर्क को भी स्वीकार करता है। सभी स्थान समूह विभाजक के रूप में अल्पविराम का उपयोग नहीं करते हैं - कुछ स्थान अल्पविराम का उपयोग दशमलव विभाजक के रूप में करते हैं। FORMAT()
फ़ंक्शन यह जानने के लिए पर्याप्त स्मार्ट है कि किस सम्मेलन का उपयोग करना है।
उदाहरण:
SELECT FORMAT(123456.789, 2, 'de_DE');
परिणाम:
123.456,79
ओरेकल
Oracle में हम TO_CHAR()
का उपयोग कर सकते हैं किसी संख्या को अल्पविराम से प्रारूपित करने का कार्य:
SELECT TO_CHAR(12345, 'fm99G999D00')
FROM DUAL;
परिणाम:
12,345.00
G
स्वरूप तत्व समूह विभाजक के लिए एक प्लेसहोल्डर है, और D
दशमलव विभाजक के लिए है।
इस स्थिति में, समूह विभाजक एक अल्पविराम को आउटपुट करता है, और दशमलव वर्ण एक अवधि को आउटपुट करता है। ऐसा इसलिए है क्योंकि मेरे वर्तमान सत्र का NLS_TERRITORY
. है पैरामीटर Australia
पर सेट है ।
यह सच है कि हम G
. के बजाय केवल एक हार्डकोडेड कॉमा का उपयोग कर सकते हैं स्वरूप तत्व, लेकिन यह मानता है कि समूह विभाजक एक अल्पविराम है। सभी स्थान समूह विभाजक के रूप में अल्पविराम का उपयोग नहीं करते हैं।
अधिक जानकारी के लिए और Oracle में अल्पविराम से संख्याओं को फ़ॉर्मेट करने के उदाहरणों के लिए Oracle में अल्पविराम से किसी संख्या को कैसे प्रारूपित करें देखें।
एसक्यूएल सर्वर
SQL सर्वर में हम FORMAT()
. का उपयोग कर सकते हैं अल्पविराम के साथ संख्याओं को प्रारूपित करने का कार्य। यह फ़ंक्शन संख्या और प्रारूप स्ट्रिंग को स्वीकार करता है:
SELECT
FORMAT(123456.789, 'N') AS "Number",
FORMAT(123456.789, 'P') AS "Percent",
FORMAT(123456.789, 'C') AS "Currency";
परिणाम:
+------------+----------------+-------------+ | Number | Percent | Currency | |------------+----------------+-------------| | 123,456.79 | 12,345,678.90% | $123,456.79 | +------------+----------------+-------------+
फ़ंक्शन स्वरूपित आउटपुट के लिए उपयोग करने के लिए स्थान निर्दिष्ट करने के लिए एक वैकल्पिक "संस्कृति" तर्क को भी स्वीकार करता है।
आप अपनी खुद की कस्टम प्रारूप स्ट्रिंग भी बना सकते हैं ताकि आप यह निर्धारित कर सकें कि प्रत्येक हज़ार विभाजक और दशमलव विभाजक कहाँ जाता है।
उदाहरण के लिए SQL सर्वर में कॉमा के साथ संख्याओं को कैसे प्रारूपित करें देखें।
PostgreSQL
PostgreSQL में एक TO_CHAR()
है फ़ंक्शन जो Oracle के समान नाम के फ़ंक्शन की तरह काम करता है:
SELECT TO_CHAR(123456.78, 'fm999G999D99');
परिणाम:
123,456.78
यह फ़ंक्शन लोकेल जागरूक है, इसलिए यह लोकेल के लिए उपयुक्त समूह और दशमलव विभाजक प्रस्तुत करेगा।
PostgreSQL के पास money
भी है डेटा प्रकार, जो एक स्थानीय जागरूक प्रारूप में आउटपुट होता है। उदाहरण के लिए PostgreSQL में कॉमा के साथ स्वरूप संख्या देखें।
SQLite
अन्य DBMS की तुलना में SQLite थोड़ा अधिक सीमित है। हालांकि, इसमें एक printf()
होता है फ़ंक्शन जो हमें प्रारूप स्ट्रिंग के अनुसार संख्याओं को प्रारूपित करने की अनुमति देता है:
SELECT printf("%,d", 123456789);
परिणाम:
123,456,789
यह पूर्णांकों के साथ ठीक काम करता है, लेकिन वास्तविक/अस्थायी बिंदु संख्याओं के लिए थोड़ा और काम करने की आवश्यकता होती है। इसके बारे में अधिक के लिए SQLite में अल्पविराम के साथ स्वरूप संख्या देखें।
अपडेट करें :SQLite 3.38.0 (22 फरवरी 2022 को जारी) का नाम बदलकर printf()
कर दिया गया format()
. पर काम करता है . मूल printf()
नाम को पश्चगामी संगतता के लिए उपनाम के रूप में रखा जाता है।
तो उपरोक्त उदाहरण को इसमें बदला जा सकता है:
SELECT format("%,d", 123456789);
परिणाम:
123,456,789
मारियाडीबी
MariaDB में, हम FORMAT()
का उपयोग कर सकते हैं किसी संख्या को अल्पविराम से प्रारूपित करने का कार्य:
SELECT FORMAT(123456.789, 2);
परिणाम:
123,456.79
उसी नाम के MySQL फ़ंक्शन के साथ, यह निर्दिष्ट करने की कोई आवश्यकता नहीं है कि अल्पविराम कहाँ जाना चाहिए। फ़ंक्शन जानता है कि उन्हें कहां रखा जाए।