Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใช้ SUM() บวกค่าทศนิยมใน MySQL ชนิด DECIMAL

ชนิดข้อมูล DECIMAL(precision, scale) ใน MySQL เหมาะสำหรับเก็บค่าเงินหรือค่าที่ต้องการความแม่นยำ สามารถใช้ SUM() บวกค่าได้อย่างถูกต้องโดยไม่สูญเสียความแม่นยำ

ตัวอย่างการสร้างตาราง

mysql> create table DemoTable ( 
    Money DECIMAL(7,2) ); 
Query OK, 0 rows affected (0.58 sec)

เพิ่มข้อมูลทศนิยม

mysql> insert into DemoTable values(100.67); 
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(199.33); 
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(500); 
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(400); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(800); 
Query OK, 1 row affected (0.14 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;
+--------+
| Money  |
+--------+
| 100.67 |
| 199.33 |
| 500.00 |
| 400.00 |
| 800.00 |
+--------+
5 rows in set (0.00 sec)

คำสั่ง SUM() บวกค่าทศนิยม

mysql> select sum(Money) from DemoTable;

ผลลัพธ์

+------------+
| sum(Money) |
+------------+
| 2000.00    |
+------------+
1 row in set (0.00 sec)

คำอธิบาย: DECIMAL(7,2) หมายถึง รวม 7 หลัก (precision) โดยมี 2 หลักทศนิยม (scale) เหมาะสำหรับเงิน สกุลเงิน ไม่ควรใช้ FLOAT หรือ DOUBLE เพราะมีปัญหาความแม่นยำจุดลอย (floating point precision issues)