首頁  >  文章  >  資料庫  >  在 MySQL 中,CEILING() 和 FLOOR() 函數與 ROUND() 函數有何不同?

在 MySQL 中,CEILING() 和 FLOOR() 函數與 ROUND() 函數有何不同?

WBOY
WBOY轉載
2023-09-07 10:25:021513瀏覽

在 MySQL 中,CEILING() 和 FLOOR() 函数与 ROUND() 函数有何不同?

CEILING() 函數傳回不小於 X 的最小整數值。請考慮以下範例 –

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() 函數傳回不大於 X 的最大整數值。請考慮以下範例 –

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() 函數傳回 X 四捨五入到最接近的整數。如果提供了第二個參數 D,則函數傳回四捨五入到 D 位小數的 X。 D 必須為正數,否則小數點右邊的所有數字將會被刪除。考慮以下範例-

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)

從上面的定義和範例中,我們可以觀察到這三個函數之間的以下差異-

  • ROUND() 函數將數字向上或向下捨去取決於第二個參數D 和數字本身(D 小數位後的數字>=5 或否)。
  • FLOOR() 函數將數字向零捨入,並且始終向下捨去。
  • CEILING()函數將數字四捨五入,遠離零,並且永遠向上。
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)

以上是在 MySQL 中,CEILING() 和 FLOOR() 函數與 ROUND() 函數有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除