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

ความต่างระหว่าง TRUNCATE() และ ROUND() ใน MySQL

TRUNCATE = ตัดทิ้ง, ROUND = ปัดเศษ

TRUNCATE()

ตัดทิ้งหลังจุดทศนิยม ไม่ปัดเศษ

mysql> SELECT TRUNCATE(7.536432, 2);
+----------------------+
| TRUNCATE(7.536432, 2) |
+----------------------+
| 7.53                 |
+----------------------+

ROUND()

ปัดเศษตามหลักที่ระบุ ดูตัวเลขถัดไป ≥5 ปัดขึ้น

mysql> SELECT ROUND(5.693893);      -- 6
mysql> SELECT ROUND(5.693893, 2); -- 5.69

ความต่างสำคัญ

ฟังก์ชันพฤติกรรม
ROUND()ปัดขึ้น/ลง ขึ้นกับตัวเลขถัดไป (≥5 ปัดขึ้น)
TRUNCATE()ตัดทิ้งเลย ไม่ดูตัวเลขถัดไป

ตัวอย่างเปรียบเทียบ

mysql> SELECT ROUND(1.289, 2) AS 'AFTER ROUND', TRUNCATE(1.289, 2) AS 'AFTER TRUNCATE';
+-------------+----------------+
| AFTER ROUND | AFTER TRUNCATE |
+-------------+----------------+
| 1.29        | 1.28           |
+-------------+----------------+

Decimals ติดลบ

  • ROUND: ปัดเศษส่วนจำนวนเต็ม (ดูตัวเลขถัดไป)
  • TRUNCATE: ตัดทิ้งส่วนจำนวนเต็ม (ไม่ดูตัวเลขถัดไป)