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

แสดงทศนิยม 3 ตำแหน่งใน MySQL ด้วย TRUNCATE()

เมื่อต้องการแสดงตัวเลขทศนิยมจำนวนหลักที่กำหนดโดย ไม่ปัดเศษ (Truncate) ให้ใช้ฟังก์ชัน TRUNCATE() ซึ่งต่างจาก ROUND() ที่จะปัดเศษ

สร้างตารางและข้อมูล

mysql> create table DemoTable (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Value DECIMAL(10,5)
);
mysql> insert into DemoTable(Value) values(109.4567);
mysql> insert into DemoTable(Value) values(15.9875);
mysql> insert into DemoTable(Value) values(1234.2346789);

ข้อมูลต้นฉบับ (5 ทศนิยม)

+----+------------+
| Id | Value      |
+----+------------+
| 1  | 109.45670  |
| 2  | 15.98750   |
| 3  | 1234.23468 |
+----+------------+

คำสั่ง TRUNCATE 3 ตำแหน่ง

mysql> select truncate(Value, 3) from DemoTable;

ผลลัพธ์

+-------------------+
| truncate(Value,3) |
+-------------------+
| 109.456           |
| 15.987            |
| 1234.234          |
+-------------------+

TRUNCATE() vs ROUND()

ค่าTRUNCATE(,3)ROUND(,3)
109.4567109.456109.457
15.987515.98715.988
1234.23467891234.2341234.235

รูปแบบคำสั่ง

TRUNCATE(ค่า, จำนวนทศนิยม)
  • จำนวนทศนิยมเป็น ลบ ได้: TRUNCATE(12345, -2) = 12300
  • คืนค่าเป็นชนิดข้อมูลเดียวกับอินพุต

กรณีใช้งานจริง

  • การคำนวณทางการเงินที่ต้องตัดทศนิยม (ไม่ปัด)
  • การแสดงราคาสินค้า ตำแหน่งสตางค์
  • การคำนวณภาษี/ดอกเบี้ยที่กฎระเบียบกำหนดให้ตัดทศนิยม