Hàm TRUNCATE(số, số_chữ_số_thập_phân) cắt bỏ phần thập phân thừa mà không làm tròn (khác với ROUND).
Ví dụ
Tạo bảng DECIMAL(20,8):
mysql> create table DemoTable ( Value DECIMAL(20,8) ); Query OK, 0 rows affected (0.54 sec)
mysql> insert into DemoTable values(23.5654433); mysql> insert into DemoTable values(12.345542211); mysql> insert into DemoTable values(12345.678543);
Dữ liệu gốc:
+----------------+ | Value | +----------------+ | 23.56544330 | | 12.34554221 | | 12345.67854300 | +----------------+
Cập nhật làm tròn xuống 2 chữ số
mysql> update DemoTable set Value=truncate(Value,2); Query OK, 3 rows affected (0.20 sec) Rows matched: 3 Changed: 3 Warnings: 0
Kết quả:
+----------------+ | Value | +----------------+ | 23.56000000 | | 12.34000000 | | 12345.67000000 | +----------------+
So sánh:
TRUNCATE(23.565, 2)→ 23.56 (cắt bỏ)ROUND(23.565, 2)→ 23.57 (làm tròn)FLOOR(23.565)→ 23 (làm tròn xuống số nguyên)