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) দিলে ১৫.৩৫ আসলো (স্ট্যান্ডার্ড রাউন্ডিং)।