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

Khác biệt CEILING(), FLOOR() và ROUND() trong MySQL

Ba hàm xử lý số thực thành số nguyên khác nhau về hướng làm tròn:

CEILING() – Làm tròn lên (xa 0)

mysql> SELECT CEILING(3.46);   -- 4
mysql> SELECT CEILING(-6.43);  -- -6 (lên về 0)

FLOOR() – Làm tròn xuống (về 0)

mysql> SELECT FLOOR(3.46);    -- 3
mysql> SELECT FLOOR(-6.43);   -- -7 (xuống xa 0)

ROUND() – Làm tròn toán học (có tham số độ chính xác)

mysql> SELECT ROUND(5.693893);      -- 6
mysql> SELECT ROUND(5.693893, 2);   -- 5.69

So sánh 3 hàm

mysql> SELECT ROUND(1.415, 2), FLOOR(1.415), CEILING(1.415);
+----------------+--------------+----------------+
| ROUND(1.415,2) | FLOOR(1.415) | CEILING(1.415) |
+----------------+--------------+----------------+
| 1.42           | 1            | 2              |
+----------------+--------------+----------------+

Tóm tắt:

  • ROUND: Làm tròn chuẩn (≥5 lên, <5 xuống), có tham số độ chính xác
  • FLOOR: Luôn làm tròn xuống (về -∞)
  • CEILING: Luôn làm tròn lên (về +∞)