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ư.