MySQL-এ REPLACE() ফাংশন দিয়ে দশমিক চিহ্ন (.) সরিয়ে SUM() দিয়ে যোগফল করা যায়।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable857(Price varchar(100)); Query OK, 0 rows affected (1.40 sec)
mysql> insert into DemoTable857 values('50.60');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable857 values('40.30.20');
Query OK, 1 row affected (0.47 sec)
mysql> insert into DemoTable857 values('10.20');
Query OK, 1 row affected (0.69 sec)
সকল রেকর্ড দেখানো
mysql> select * from DemoTable857;
+----------+ | Price | +----------+ | 50.60 | | 40.30.20 | | 10.20 | +----------+ 3 rows in set (0.00 sec)
দশমিক চিহ্ন বাদ দিয়ে যোগফল
mysql> select sum(replace(Price,'.','')) AS SumOfALl from DemoTable857;
+----------+ | SumOfALl | +----------+ | 409100 | +----------+ 1 row in set (0.03 sec)
ব্যাখ্যা
| মূল মান | REPLACE(Price,'.','') | সংখ্যা হিসেবে |
|---|---|---|
| 50.60 | 5060 | 5060 |
| 40.30.20 | 403020 | 403020 |
| 10.20 | 1020 | 1020 |
| যোগফল = 409100 | ||
দ্রষ্টব্য
REPLACEসব ডট (.) মুছে দেয় — '40.30.20' → '403020' (একাধিক ডট হলে সব মুছে যায়)- ফলাফল স্ট্রিং,
SUM()স্বয়ংক্রিয়ভাবে সংখ্যা-এ কনভার্ট করে - যদি মান '1,000.50' হয় (কমা সেপারেটর), তবে
REPLACE(REPLACE(Price, ',', ''), '.', '')ব্যবহার করুন
উন্নত পদ্ধতি: CAST দিয়ে নিশ্চিত কনভার্সন
SELECT SUM(CAST(REPLACE(Price, '.', '') AS UNSIGNED)) AS SumOfAll FROM DemoTable857;
বेहতর ডিজাইন
দাম সংরক্ষণের জন্য DECIMAL(10,2) বা INT (পয়সা/সেন্ট এ) ব্যবহার করুন, VARCHAR নয়।