返回 ≤ X 的最大整數。
SELECT FLOOR(1.23); -- 1 SELECT FLOOR(-1.23); -- -2
注意:返回類型為 BIGINT。
返回 ≥ X 的最小整數。
SELECT CEILING(1.23); -- 2 SELECT CEILING(-1.23); -- -1
返回類型為 BIGINT。
SELECT ROUND(-1.23); -- -1 SELECT ROUND(-1.58); -- -2 SELECT ROUND(1.58); -- 2
返回類型為 BIGINT。負數四捨五入遵循「絕對值四捨五入再加符號」規則。
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 類型並在應用層控制。
ROUND(col, 2)。FLOOR/CEILING。WHERE 條件中對列使用函數(導致索引失效),改用範圍查詢。