首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 四捨五入函數完全指南:ROUND、FLOOR、CEILING

     編輯:MySQL 綜合教學

MySQL 四捨五入函數完全指南

1. FLOOR(X) — 向下取整

返回 ≤ X 的最大整數。

SELECT FLOOR(1.23);   -- 1
SELECT FLOOR(-1.23);  -- -2

注意:返回類型為 BIGINT。

2. CEILING(X) — 向上取整

返回 ≥ X 的最小整數。

SELECT CEILING(1.23);   -- 2
SELECT CEILING(-1.23);  -- -1

返回類型為 BIGINT。

3. ROUND(X) — 四捨五入到整數

SELECT ROUND(-1.23);  -- -1
SELECT ROUND(-1.58);  -- -2
SELECT ROUND(1.58);   -- 2

返回類型為 BIGINT。負數四捨五入遵循「絕對值四捨五入再加符號」規則。

4. ROUND(X, D) — 保留 D 位小數

SELECT ROUND(1.298, 1);  -- 1.3
SELECT ROUND(1.298, 0);  -- 1
  • D=0 等同無小數點整數。
  • D 可為負數:ROUND(123.45, -1)=120、ROUND(123.45, -2)=100。

銀行家捨入說明

MySQL ROUND() 採用「四捨五入,五入雙向」(.5 向遠離零方向),非 銀行家捨入(五入到偶數)。財務級精確計算請用 DECIMAL 類型並在應用層控制。

實戰建議

  1. 分頁/報表顯示用 ROUND(col, 2)。
  2. 分組統計閾值判斷用 FLOOR/CEILING。
  3. 避免在 WHERE 條件中對列使用函數(導致索引失效),改用範圍查詢。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved