Computer >> Máy Tính >  >> Lập trình >> MySQL

Trong MySQL, hàm CEILING () và FLOOR () khác với hàm ROUND () như thế nào?


CEILING () hàm trả về giá trị số nguyên nhỏ nhất không nhỏ hơn X. Hãy xem xét ví dụ sau -

mysql> Select CEILING(3.46);
+---------------+
| CEILING(3.46) |
+---------------+
|             4 |
+---------------+
1 row in set (0.00 sec)  

mysql> Select CEILING(-6.43);
+----------------+
| CEILING(-6.43) |
+----------------+
|             -6 |
+----------------+
1 row in set (0.02 sec)

FLOOR () hàm trả về giá trị số nguyên lớn nhất không lớn hơn X. Hãy xem xét ví dụ sau -

mysql> Select FLOOR(-6.43);
+--------------+
| FLOOR(-6.43) |
+--------------+
|           -7 |
+--------------+
1 row in set (0.00 sec)
 
mysql> Select FLOOR(3.46);
+-------------+
| FLOOR(3.46) |
+-------------+
|           3 |
+-------------+
1 row in set (0.00 sec)

ROUND () hàm trả về X được làm tròn thành số nguyên gần nhất. Nếu đối số thứ hai, D, được cung cấp, thì hàm trả về X được làm tròn thành D vị trí thập phân. D phải là số dương hoặc tất cả các chữ số ở bên phải của dấu thập phân sẽ bị xóa. Hãy xem xét ví dụ sau -

mysql>SELECT ROUND(5.693893);
+---------------------------------------------------------+
|                    ROUND(5.693893)                      |
+---------------------------------------------------------+
|                           6                             |
+---------------------------------------------------------+
1 row in set (0.00 sec)  

mysql>SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
|                   ROUND(5.693893,2)                     |
+---------------------------------------------------------+
|                          5.69                           |
+---------------------------------------------------------+
1 row in set (0.00 sec)

Từ định nghĩa và ví dụ trên, chúng ta có thể quan sát thấy sự khác biệt sau đây giữa ba hàm này -

  • ROUND () hàm làm tròn số lên hoặc xuống phụ thuộc vào đối số thứ hai D và chính số đó (chữ số sau D vị trí thập phân> =5 hoặc không).
  • TẦNG () hàm làm tròn số, về phía 0, luôn luôn đi xuống.
  • TRẦN () hàm làm tròn số, khác 0, luôn luôn tăng.
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 |
+----------------+--------------+----------------+
1 row in set (0.00 sec)