The TRUNCATE()৷ ফাংশনটি দশমিক স্থানের ডি নম্বরে কাটা X এর মান ফেরাতে ব্যবহৃত হয়। যদি D 0 হয়, তাহলে দশমিক বিন্দু সরানো হয়। যদি D ঋণাত্মক হয়, তাহলে মানের পূর্ণসংখ্যা অংশে মানগুলির D সংখ্যা কাটা হয়। নিম্নলিখিত উদাহরণ বিবেচনা করুন –
mysql> Select TRUNCATE(7.536432,2); +----------------------+ | TRUNCATE(7.536432,2) | +----------------------+ | 7.53 | +----------------------+ 1 row in set (0.00 sec)
The ROUND() ফাংশন Xকে নিকটতম পূর্ণসংখ্যাতে বৃত্তাকার করে দেয়। যদি একটি দ্বিতীয় আর্গুমেন্ট, D, সরবরাহ করা হয়, তাহলে ফাংশনটি X বৃত্তাকারে D দশমিক স্থানে ফেরত দেয়। D অবশ্যই ধনাত্মক হতে হবে নতুবা দশমিক বিন্দুর ডানদিকের সমস্ত সংখ্যা মুছে ফেলা হবে। নিম্নলিখিত উদাহরণটি বিবেচনা করুন -
mysql>SELECT ROUND(5.693893); +---------------------------------------------------------+ | ROUND(5.693893) | +---------------------------------------------------------+ | 6 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql>SELECT ROUND(5.693893,2); +---------------------------------------------------------+ | ROUND(5.693893,2) | +---------------------------------------------------------+ | 5.69 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
উপরের সংজ্ঞা এবং উদাহরণ থেকে আমরা এই দুটি ফাংশনের মধ্যে নিম্নলিখিত পার্থক্য লক্ষ্য করতে পারি -
- ROUND() ফাংশন সংখ্যাটিকে উপরে বা নিচে রাউন্ড করে দ্বিতীয় আর্গুমেন্ট D এবং সংখ্যার উপর নির্ভর করে (D দশমিক স্থানের পরে অঙ্ক>=5 বা না)।
- TRUNCATE() ফাংশন D দশমিকের পরে ডিজিট>=5 নাকি না চেক না করেই দশমিক স্থানের D সংখ্যা পর্যন্ত সংখ্যাকে ছেঁটে দেয়।
mysql> Select ROUND(1.289,2)AS 'AFTER ROUND',TRUNCATE(1.289,2)AS 'AFTER TRUNCATE'; +-------------+----------------+ | AFTER ROUND | AFTER TRUNCATE | +-------------+----------------+ | 1.29 | 1.28 | +-------------+----------------+ 1 row in set (0.00 sec)