Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में DECIMAL डेटा प्रकार से संख्या को दशमलव के रूप में संग्रहीत करें

MySQL में संख्याओं को सटीक दशमलव परिशुद्धता के साथ संग्रहीत करने के लिए अलग से फॉर्मेट करने की आवश्यकता नहीं है - DECIMAL डेटा प्रकार का उपयोग करें। यह निश्चित-परिशुद्धता अंकगणित प्रदान करता है और वित्तीय/मौद्रिक डेटा के लिए मानक विकल्प है।

सिंटैक्स

DECIMAL(precision, scale)
  • Precision (कुल अंक): 1-65, सभी अंकों की कुल संख्या
  • Scale (दशमलव स्थान): 0-30, दशमलव बिंदु के बाद के अंक
  • उदाहरण: DECIMAL(10,2) = 8 पूर्णांक अंक + 2 दशमलव स्थान = 99999999.99 अधिकतम

व्यावहारिक उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE DemoTable1330 (
    Amount DECIMAL(10,2)
);

विभिन्न परिशुद्धता वाले मान डालें:

mysql> INSERT INTO DemoTable1330 VALUES(10944.7893);  -- 4 दशमलव स्थान
mysql> INSERT INTO DemoTable1330 VALUES(9848.44);    -- 2 दशमलव स्थान
mysql> INSERT INTO DemoTable1330 VALUES(8009.90);    -- 2 दशमलव स्थान
mysql> INSERT INTO DemoTable1330 VALUES(1000.99);    -- 2 दशमलव स्थान

नोट: पहला मान 10944.7893 (4 दशमलव) DECIMAL(10,2) में डालने पर चेतावनी देता है और 10944.79 पर राउंड हो जाता है।

डेटा देखें:

mysql> SELECT * FROM DemoTable1330;
+----------+
| Amount   |
+----------+
| 10944.79 |
| 9848.44  |
| 8009.90  |
| 1000.99  |
+----------+

DECIMAL बनाम FLOAT/DOUBLE

सामान्य वित्तीय परिभाषाएं

-- भारतीय रुपये (पैसा तक)
amount DECIMAL(12,2)   -- 99,99,99,999.99 तक

-- क्रिप्टोकरेंसी (8 दशमलव)
btc_amount DECIMAL(18,8)

-- प्रतिशत दर (4-6 दशमलव)
interest_rate DECIMAL(5,4)  -- 99.9999% तक

-- सामान्य उद्देश्य
price DECIMAL(10,2)

गोलाकार व्यवहार

  • MySQL **राउंड हाफ अप** (Round Half Up) का उपयोग करता है
  • 10.005 → 10.01 (2 दशमलव पर)
  • 10.004 → 10.00

अंकगणित संचालन

SELECT 
    price,
    quantity,
    price * quantity AS total,
    ROUND(price * quantity, 2) AS rounded_total
FROM orders;

सर्वोत्तम अभ्यास

  1. हमेशा वित्तीय डेटा के लिए DECIMAL उपयोग करें
  2. परिशुद्धता और स्केल को अधिकतम अपेक्षित मान के आधार पर चुनें
  3. एप्लिकेशन लेयर में भी दशमलव लाइब्रेरी उपयोग करें (Python: decimal, Java: BigDecimal, JS: decimal.js)
  4. FLOAT/DOUBLE से मुद्रा गणना **कभी न करें

DECIMAL MySQL में सटीक संख्यात्मक डेटा के लिए अंतर्निहित, विश्वसनीय समाधान है - कोई बाहरी फॉर्मेटिंग आवश्यक नहीं।

  1. - Spring Boot + JSP + Spring Security: DataSource कॉन्फ़िगरेशन त्रुटि कैसे ठीक करें

    समाधान application.properties में DataSource गुण परिभाषित करें। application.properties spring.datasource.username=yourUserName spring.datasource.password=yourPassword spring.datasource.url=yourDatabaseUrl spring.datasource.driver-class-name=yourDriverClassName कंट्रोलर क्लास @RestController @Reque

  1. - JSP में प्रतिशत कैसे फॉर्मेट करें?

    <fmt:formatNumber> टैग का उपयोग संख्याओं, प्रतिशत और मुद्राओं को फॉर्मेट करने के लिए किया जाता है। विशेषताएं <fmt:formatNumber> टैग में निम्नलिखित विशेषताएं होती हैं: विशेषता विवरण आवश्यक डिफ़ॉल्ट value दर्शाने के लिए संख्यात्मक मान हाँ कोई नहीं type NUMBER, CURRENCY, या PERC

  1. - JSP में संख्या कैसे फॉर्मेट करें?

    <fmt:formatNumber> टैग का उपयोग संख्याओं, प्रतिशत और मुद्राओं को फॉर्मेट करने के लिए किया जाता है। विशेषताएं <fmt:formatNumber> टैग में निम्नलिखित विशेषताएं होती हैं: विशेषता विवरण आवश्यक डिफ़ॉल्ट value दर्शाने के लिए संख्यात्मक मान हाँ कोई नहीं type NUMBER, CURRENCY, या PERC

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
विशेषताDECIMALFLOAT/DOUBLE
परिशुद्धतासटीक (निश्चित बिंदु)सन्निकट (फ्लोटिंग पॉइंट)
गोलाकार त्रुटिनहींहां (0.1 + 0.2 ≠ 0.3)
उपयोगमुद्रा, वित्त, मापवैज्ञानिक गणना, ग्राफिक्स
स्टोरेजप्रति 9 अंक ~4 बाइट्स4/8 बाइट्स फिक्स्ड