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

MySQL-এ DECIMAL(19,2) কলামে ইনসার্ট সময় TRUNCATE ব্যবহার করে মান সংরক্ষণ করা

MySQL-এ DECIMAL(19,2) কলামে আরও দশমিক অঙ্ক সহ মান ইনসার্ট করলে MySQL রাউন্ড করে (নearenেস্ট ভ্যালু)। সঠিক কাটা-ছাটা (truncate) করতে TRUNCATE() ফাংশন ব্যবহার করা হয়।

উদাহরণ

টেবিল তৈরি:

CREATE TABLE demo59 (
    price DECIMAL(19,2)
);

TRUNCATE দিয়ে ইনসার্ট:

INSERT INTO demo59 VALUES (TRUNCATE(15.346, 2));   -- 15.34
INSERT INTO demo59 VALUES (TRUNCATE(20.379, 2));   -- 20.37
INSERT INTO demo59 VALUES (TRUNCATE(25.555, 2));   -- 25.55
INSERT INTO demo59 VALUES (TRUNCATE(100.456, 2));  -- 100.45

টেবিলের ডেটা:

+--------+
| price  |
+--------+
| 15.34  |
| 20.37  |
| 25.55  |
| 100.45 |
+--------+

ব্যাখ্যা:

  • TRUNCATE(15.346, 2) -> ১৫.৩৪ (৩য় দশমিক কাটা হয়েছে, রাউন্ড করা হয়নি)।
  • বিনা TRUNCATE: INSERT INTO demo59 VALUES (15.346) দিলে MySQL রাউন্ড করে ১৫.৩৫ সংরক্ষণ করত।
  • TRUNCATE(x, d): x কে d দশমিক স্থান পর্যন্ত কাটা-ছাটা করে (রাউন্ড করে না)।
  • ফাইনানশিয়াল অ্যাপ্লিকেশনে রাউন্ডিং এরর এড়াতে এটি খুব গুরুত্বপূর্ণ।

নোট: ROUND(15.346, 2) দিলে ১৫.৩৫ আসলো (স্ট্যান্ডার্ড রাউন্ডিং)।

  1. Python-এ MySQL INSERT করার পর আইডি কীভাবে পাবেন?

  2. MySQL에서 데이터베이스의 테이블 개수 조회하기

  3. Java-এ PreparedStatement ব্যবহার করে MySQL-এ NULL মান ইনসার্ট করা (setNull)

  4. MySQL-এ সাবকোয়ারি এবং GROUP BY ব্যবহার করে সর্বোচ্চ কমিউলেটিভ মান বের করা