DECIMAL(M, D) पैरामीटर समझना
DECIMAL(M, D) में दो पैरामीटर होते हैं:
- M (Precision) — कुल अंकों की संख्या (दशमलव बिंदु के दोनों ओर)।
- D (Scale) — दशमलव बिंदु के दाईं ओर अंकों की संख्या।
यदि आप DECIMAL(10, 10) उपयोग करते हैं, तो इसका अर्थ है कुल 10 अंक, जिनमें से सभी 10 दशमलव के बाद हैं — यानी पूर्णांक भाग शून्य होना चाहिए (0.xxxxxxxxxx)।
उदाहरण: 10 दशमलव स्थानों के लिए DECIMAL(20, 10)
DECIMAL(20, 10) — 10 पूर्णांक अंक + 10 दशमलव अंक = 20 कुल अंक।
व्यावहारिक उदाहरण
टेबल बनाना
mysql> CREATE TABLE Decimal_Demo (
Id INT NOT NULL AUTO_INCREMENT,
Price DECIMAL(20, 10),
PRIMARY KEY(Id)
);
विभिन्न मान डालना
mysql> INSERT INTO Decimal_Demo(Price) VALUES(7475433123.1727374747); mysql> INSERT INTO Decimal_Demo(Price) VALUES(999.9999999999); mysql> INSERT INTO Decimal_Demo(Price) VALUES(1363645345.1726364664); mysql> INSERT INTO Decimal_Demo(Price) VALUES(1.172636466437475656565); -- चेतावनी: ट्रंकेटेड mysql> INSERT INTO Decimal_Demo(Price) VALUES(0.9999999999);
परिणाम
+----+-----------------------+ | Id | Price | +----+-----------------------+ | 1 | 7475433123.1727374747 | | 2 | 999.9999999999 | | 3 | 1363645345.1726364664 | | 4 | 1.1726364664 | | 5 | 0.9999999999 | +----+-----------------------+
व्याख्या
- पंक्ति 4: इनपुट में 10 से अधिक दशमलव अंक थे (
.172636466437475656565), इसलिए यह 10 तक ट्रंकेट हो गया (.1726364664) और चेतावनी दी। - पंक्ति 5: ठीक 10 दशमलव अंक — पूरी तरह से संग्रहीत।
- पूर्णांक भाग 10 अंक तक हो सकता है (क्योंकि M=20, D=10 → 20-10=10 पूर्णांक अंक)।
सामान्य उपयोग मामले
| उपयोग मामला | सुझाया गया DECIMAL | व्याख्या |
|---|---|---|
| मुद्रा/कीमत (2 दशमलव) | DECIMAL(10,2) या DECIMAL(19,4) | अधिकांश मुद्राओं के लिए मानक |
| उच्च सटीकता वैज्ञानिक डेटा | DECIMAL(20,10) या अधिक | 10+ दशमलव स्थान |
| क्रिप्टोकरेंसी (8-18 दशमलव) | DECIMAL(30,18) | बिटकॉइन 8, अन्य 18 तक |
महत्वपूर्ण नोट
DECIMAL सटीक निश्चित-बिंदु अंकगणित के लिए है। फ्लोटिंग-पॉइंट (FLOAT, DOUBLE) अनुमानित होते हैं और वित्तीय गणना के लिए उपयुक्त नहीं हैं।