সংখ্যা কলামের যোগফল বের করে সেটিকে নির্দিষ্ট ডেসিমেল প্লেইস এবং কমা সেপারেটরসহ ফরম্যাট করতে SUM() এবং FORMAT() ফাংশন একসাথে ব্যবহার করা হয়।
টেবিল ও ডেটা তৈরি
mysql> CREATE TABLE DemoTable1950 (Amount FLOAT); mysql> INSERT INTO DemoTable1950 VALUES (45.60), (101.78), (75.90), (89.45);
ডেটা যাচাই
mysql> SELECT * FROM DemoTable1950;
+--------+ | Amount | +--------+ | 45.6 | | 101.78 | | 75.9 | | 89.45 | +--------+
কোয়েরি: SUM + FORMAT
mysql> SELECT FORMAT(SUM(Amount), 2) AS TotalSum
FROM DemoTable1950;
প্যারামিটার: FORMAT(number, decimals) — decimals ডেসিমেল প্লেইস, লোকেল-আওয়্যার কমা সেপারেটর।
আউটপুট:
+----------+ | TotalSum | +----------+ | 312.73 | +----------+
গণনা যাচাই
৪৫.৬০ + ১০১.৭৮ + ৭৫.৯০ + ৮৯.৪৫ = ৩১২.৭৩ ✓
গুরুত্বপূর্ণ সীমাবদ্ধতা: FORMAT() স্ট্রিং রিটার্ন করে
SELECT FORMAT(SUM(Amount), 2) + 10 FROM DemoTable1950; -- ভুল ফলাফল দেবে (স্ট্রিং কনভার্সন)!
সঠিক পদ্ধতি: গাণিতিক অপারেশনের পর ফরম্যাট
SELECT FORMAT(SUM(Amount) + 10, 2) AS TotalSum FROM DemoTable1950;
FORMAT() এর বিকল্প
| ফাংশন | রিটার্ন টাইপ | ব্যবহার |
|---|---|---|
| FORMAT(n, d) | VARCHAR | প্রদর্শন용 (কমা, লোকেল) |
| ROUND(n, d) | DECIMAL/DOUBLE | গাণিতিক কাজের জন্য |
| TRUNCATE(n, d) | DECIMAL/DOUBLE | রাউন্ডিং ছাড়া কাটা |
| CONCAT(n, '') | VARCHAR | স্ট্রিং কনভার্সন |
লোকেল পরিবর্তন (MySQL 8.0+)
SELECT FORMAT(1234567.89, 2, 'de_DE'); -- 1.234.567,89 (জার্মান ফরম্যাট)