数值计算函数要点
- ROUND(x, n) 四舍五入到 n 位小数,n 省略则取整
- TRUNCATE(x, n) 直接截断,不做四舍五入
- CEIL(x) 取不小于 x 的最小整数,FLOOR(x) 取不大于的最大整数
- MOD(x, y) 取余数,等价于 x % y;除数为 0 返回 NULL
- POW(x, y) 求幂、SQRT(x) 开平方、ABS(x) 取绝对值
- GREATEST / LEAST 在一组值里取最大 / 最小
数值计算函数示例
-- 价格保留两位小数,库存向上取整成整箱
SELECT ROUND(price, 2) AS price2,
CEIL(stock / 12) AS boxes
FROM product;
-- 折扣后截断到分,避免四舍五入多收
SELECT TRUNCATE(price * 0.85, 2) AS sale_price
FROM product;
-- 取一组报价里的最低价
SELECT LEAST(39.9, 42.0, 36.5) AS best_price;
避坑提醒:金额结算别用 ROUND 凑整,它可能把 0.005 进位成多收一分。涉及钱用 TRUNCATE 截断,或者先乘 100 转整数再算,规避浮点误差。