MySQL में करेंसी (मुद्रा) के लिए सर्वश्रेष्ठ डेटा टाइप DECIMAL है।
DECIMAL सिंटैक्स
DECIMAL(TotalDigits, DigitsAfterDecimalPoint);
TotalDigits- कुल अंकों की संख्या (सटीकता)DigitsAfterDecimalPoint- दशमलव के बाद के अंक (स्केल)
उदाहरण के साथ समझें
सबसे पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE CurrenciesDemo (
-> TotalPrice DECIMAL(10, 2)
-> );
Query OK, 0 rows affected (1.82 sec)
यहां DECIMAL(10,2) का अर्थ: कुल 10 अंक, जिनमें से 2 दशमलव के बाद। यानी 99999999.99 तक स्टोर कर सकते हैं।
रिकॉर्ड डालें
mysql> INSERT INTO CurrenciesDemo VALUES(1647575.67); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO CurrenciesDemo VALUES(1647575); Query OK, 1 row affected (0.21 sec) mysql> INSERT INTO CurrenciesDemo VALUES(99599596); Query OK, 1 row affected (0.13 sec) mysql> INSERT INTO CurrenciesDemo VALUES(1986.50); Query OK, 1 row affected (0.23 sec) mysql> INSERT INTO CurrenciesDemo VALUES(99999999.90); Query OK, 1 row affected (0.17 sec)
सभी रिकॉर्ड देखें
mysql> SELECT * FROM CurrenciesDemo;
आउटपुट
+-------------+ | TotalPrice | +-------------+ | 1647575.67 | | 1647575.00 | | 99599596.00 | | 1986.50 | | 99999999.90 | +-------------+ 5 rows in set (0.00 sec)
ध्यान दें: 1647575 अपने आप 1647575.00 बन गया।
करेंसी सिंबल के साथ प्रदर्शित करें
mysql> SELECT CONCAT('$', TotalPrice) AS DollarSign FROM CurrenciesDemo;
आउटपुट
+--------------+ | DollarSign | +--------------+ | $1647575.67 | | $1647575.00 | | $99599596.00 | | $1986.50 | | $99999999.90 | +--------------+ 5 rows in set (0.00 sec)
क्यों DECIMAL सबसे अच्छा है?
- सटीकता: फ्लोटिंग-पॉइंट (FLOAT/DOUBLE) के विपरीत, DECIMAL सटीक मान स्टोर करता है
- कोई राउंडिंग एरर नहीं: वित्तीय गणनाओं के लिए महत्वपूर्ण
- फिक्स्ड स्केल: दशमलव स्थान निश्चित रहते हैं
नोट: FLOAT/DOUBLE का उपयोग करेंसी के लिए न करें क्योंकि वे बाइनरी फ्लोटिंग-पॉइंट प्रतिनिधित्व के कारण राउंडिंग एरर पैदा कर सकते हैं।