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

Ảnh hưởng của count âm trong TRUNCATE() – cắt phần nguyên không làm tròn

Khi tham số thứ 2 của TRUNCATE() là số âm, hàm cắt bỏ chữ số phần nguyên không làm tròn.

Ví dụ với 1789.456

mysql> SELECT TRUNCATE(1789.456, -1);  -- 1780 (cắt hàng chục: bỏ 9)
mysql> SELECT TRUNCATE(1789.456, -2);  -- 1700 (cắt hàng trăm: bỏ 89)
mysql> SELECT TRUNCATE(1789.456, -3);  -- 1000 (cắt hàng nghìn: bỏ 789)
mysql> SELECT TRUNCATE(1789.456, -4);  -- 0    (4 chữ số nguyên, -4 xóa hết)

So sánh với ROUND()

  • ROUND(1789.456, -1) = 1790 (làm tròn: 9≥5 → 8→9)
  • TRUNCATE(1789.456, -1) = 1780 (cắt bỏ: xóa 9 → 1780)

Quy tắc: TRUNCATE(x, -N) giữ lại phần nguyên chia hết cho 10^N, bỏ phần dư.