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ânD<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