MySQL 小数取舍函数
在数据库开发中,经常需要处理数值数据,比如四舍五入、向上取整、向下取整或者截断小数。MySQL 提供了一系列数值函数,让这些操作变得非常方便。
1. ROUND 四舍五入
Section titled “1. ROUND 四舍五入”ROUND(number, decimals) 用于四舍五入,保留指定的小数位。
-
number:要处理的数字
-
decimals:保留的小数位,省略则默认四舍五入到整数
SELECT ROUND(123.4567, 2); -- 结果: 123.46SELECT ROUND(123.4567); -- 结果: 123SELECT ROUND(-123.4567, 1); -- 结果: -123.5场景:统计平均值、财务金额显示、数据可读性优化。
2. CEIL 向上取整
Section titled “2. CEIL 向上取整”CEIL(number) 或 CEILING(number) 会把数字向上取整到最接近的整数。
SELECT CEIL(123.1); -- 结果: 124SELECT CEIL(-123.9); -- 结果: -123场景:计算库存需求、分页总页数、数量向上取整。
3. FLOOR 向下取整
Section titled “3. FLOOR 向下取整”FLOOR(number) 会把数字向下取整到最接近的整数。
SELECT FLOOR(123.9); -- 结果: 123SELECT FLOOR(-123.1); -- 结果: -124场景:计算折扣、剩余数量、向下取整保证不超量。
4. TRUNCATE 截断小数
Section titled “4. TRUNCATE 截断小数”TRUNCATE(number, decimals) 用于截断数字到指定小数位,不会四舍五入,只是直接舍掉多余的小数。
SELECT TRUNCATE(123.4567, 2); -- 结果: 123.45SELECT TRUNCATE(-123.4567, 1); -- 结果: -123.4场景:保留精度但不改变数值大小,财务、计量、精确控制。