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

Làm tròn xuống (floor) số thập phân trong MySQL dùng TRUNCATE

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)