MySQL में संख्या को करेंसी फॉर्मेट (प्रतीक + कॉमा सेपरेटर) में कन्वर्ट करना
सिंटैक्स:
SELECT CONCAT('CurrencySymbol', FORMAT(yourColumnName, decimalsAfterDecimal)) AS AnyVariableName
FROM yourTableName;
फंक्शन समझाए:
FORMAT(number, decimals): संख्या को कॉमा सेपरेटर के साथ फॉर्मेट करता है (जैसे 1,000,000.00)CONCAT(): करेंसी सिंबल ($, ₹, €, आदि) जोड़ता है
व्यावहारिक उदाहरण
1. टेबल बनाएं:
mysql> CREATE TABLE AddingCurrencySymbolDemo (Amount INT); Query OK, 0 rows affected (1.50 sec)
2. डेटा डालें:
mysql> INSERT INTO AddingCurrencySymbolDemo VALUES(250); mysql> INSERT INTO AddingCurrencySymbolDemo VALUES(500); mysql> INSERT INTO AddingCurrencySymbolDemo VALUES(1000); mysql> INSERT INTO AddingCurrencySymbolDemo VALUES(750);
3. मूल डेटा:
+--------+ | Amount | +--------+ | 250 | | 500 | | 1000 | | 750 | +--------+ 4 rows in set (0.00 sec)
4. करेंसी फॉर्मेट में बदलें ($ प्रतीक, 0 दशमलव):
mysql> SELECT CONCAT('$', FORMAT(Amount, 0)) AS AddedCurrency
-> FROM AddingCurrencySymbolDemo;
+---------------+ | AddedCurrency | +---------------+ | $250 | | $500 | | $1,000 | | $750 | +---------------+ 4 rows in set (0.00 sec)
विविधताएं:
भारतीय रुपया (₹) 2 दशमलव के साथ:
SELECT CONCAT('₹', FORMAT(amount, 2)) FROM payments;
₹1,250.00
यूरो (€) स्पेस के साथ:
SELECT CONCAT('€ ', FORMAT(amount, 2)) FROM orders;
लोकल-स्पेसिफिक फॉर्मेटिंग (MySQL 8.0+):
SELECT FORMAT(1234567.89, 2, 'de_DE'); -- जर्मन: 1.234.567,89 SELECT FORMAT(1234567.89, 2, 'en_IN'); -- भारतीय: 12,34,567.89
महत्वपूर्ण नोट्स:
FORMAT()स्ट्रिंग लौटाता है, संख्या नहीं — गणना के लिए उपयोग न करें- गोलाई (rounding) मानक बैंकर्स राउंडिंग का पालन करती है
- नकारात्मक संख्याओं के लिए माइनस साइन प्रीफिक्स में आता है
- बड़े डेटासेट पर प्रदर्शन: इंडेक्स उपयोग नहीं कर सकता
संग्रहण के लिए सिफारिश:
डेटाबेस में हमेशा संख्यात्मक टाइप (DECIMAL, INT) में स्टोर करें। फॉर्मेटिंग केवल प्रस्तुति लेयर (SELECT/एप्लीकेशन) में करें।