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

ปัดทศนิยมลง (Floor) ใน MySQL แทนการปัดปกติ

การปัดทศนิยมลง (Truncate/Floor) ใน MySQL

ใช้ฟังก์ชัน TRUNCATE(number, decimals) เพื่อตัดทศนิยมทิ้งโดยไม่ปัด (ไม่ใช่ Round)

TRUNCATE(value, decimal_places)

ตัวอย่างการใช้งาน

สร้างตารางและเพิ่มค่าทศนิยม:

mysql> create table DemoTable (Value DECIMAL(20,8));
mysql> insert into DemoTable values(23.5654433);
mysql> insert into DemoTable values(12.345542211);
mysql> insert into DemoTable values(12345.678543);

ข้อมูลต้นฉบับ:

+----------------+
| Value          |
+----------------+
| 23.56544330    |
| 12.34554221    |
| 12345.67854300 |
+----------------+

อัปเดตให้ปัดทศนิยมเหลือ 2 ตำแหน่ง (ตัดทิ้ง ไม่ปัด):

mysql> update DemoTable set Value = truncate(Value, 2);
Query OK, 3 rows affected (0.20 sec)

ผลลัพธ์หลังอัปเดต:

+----------------+
| Value          |
+----------------+
| 23.56000000    |
| 12.34000000    |
| 12345.67000000 |
+----------------+

ความแตกต่าง TRUNCATE vs ROUND vs FLOOR:

ค่าTRUNCATE(x,2)ROUND(x,2)FLOOR(x)
23.56523.5623.5723
12.34512.3412.3512
-12.345-12.34-12.35-13

หมายเหตุ: TRUNCATE ทำงานกับลบได้ถูกต้อง (ตัดทิ้งไปทางศูนย์) | FLOOR ปัดลงไปทาง -infinity | ROUND ปัดตามกฎคณิตศาสตร์