কম্পিউটার টিউটোরিয়াল

MySQL-এ ফ্লোটিং পয়েন্ট সংখ্যা স্টোর করার জন্য DECIMAL ডেটা টাইপ ব্যবহার করা

ফ্লোটিং পয়েন্ট সংখ্যা (দশমিক সংখ্যা) সঠিকভাবে স্টোর করতে DECIMAL ডেটা টাইপ ব্যবহার করুন। FLOAT বা DOUBLE দিয়ে রাউন্ডিং এরর হতে পারে।

প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable (Price DECIMAL(10,2));

রেকর্ড যোগ করি:

mysql> INSERT INTO DemoTable VALUES(874674.50);
mysql> INSERT INTO DemoTable VALUES(9948984.20);
mysql> INSERT INTO DemoTable VALUES(12345678.99);

সকল রেকর্ড দেখতে:

mysql> SELECT * FROM DemoTable;

আউটপুট:

+-------------+
| Price       |
+-------------+
| 874674.50   |
| 9948984.20  |
| 12345678.99 |
+-------------+

ব্যাখ্যা: DECIMAL(10,2) মানে:

  • 10 = প্রেসিশন (মোট ডিজিট সংখ্যা, দশমিক বিন্দু বাদে)
  • 2 = স্কেল (দশমিক বিন্দুর পর ডিজিট সংখ্যা)
  • অর্থাৎ ৯৯৯৯৯৯৯৯.৯৯ পর্যন্ত স্টোর করা যায়।

কেন DECIMAL?

  • এক্স্যাক্ট প্রেসিশন (ফিনান্সিয়াল ডেটার জন্য বাধ্যতামূলক)
  • রাউন্ডিং এরর নেই
  • FLOAT/DOUBLE বাইনারি ফ্লোটিং পয়েন্ট, যা ০.১ সঠিকভাবে রিপ্রেজেন্ট করতে পারে না

MySQL 8.0+ এ: DECIMAL(10,2) স্টোরেজে ৪ বাইট + প্রতি ৯ ডিজিটের জন্য ৪ বাইট নেয়।

  1. MySQL Workbench-এ কলাম ফ্ল্যাগের অর্থ

  2. MySQL ডেটাবেসে তারিখ সংরক্ষণ করার সবচেয়ে সহজ পদ্ধতি

  3. MySQL-এ নেগেটিভ নম্বর সংরক্ষণ করার জন্য ডেটা টাইপ

  4. MySQL-এ SELECT TRUE কী এবং কীভাবে কাজ করে?