Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Khác biệt giữa TRUNCATE() và ROUND() trong MySQL

TRUNCATE() cắt bỏ chữ số thừa không làm tròn. ROUND() làm tròn theo quy tắc toán học (≥5 lên, <5 xuống).

TRUNCATE()

mysql> SELECT TRUNCATE(7.536432, 2);  -- 7.53 (cắt sau 2 chữ số thập phân)
  • D=0: Bỏ phần thập phân
  • D<0: Cắt bỏ |D| chữ số phần nguyên

ROUND()

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

So sánh trực tiếp

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

Tóm tắt:

  • ROUND: Xem chữ số sau vị trí D: ≥5 thì cộng 1, <5 thì giữ nguyên
  • TRUNCATE: Cắt bỏ trực tiếp, không quan tâm chữ số sau