Oracle中的ROUND函数
Oracle中的ROUND函数主要用于对数值或日期进行四舍五入操作:
一、数值处理
基本语法
ROUND(number [, decimal_places]),其中:
number:待处理的数值。
decimal_places(可选):指定保留的小数位数。若为正数,则对小数部分四舍五入;若为负数,则对整数部分四舍五入;省略时默认取整。
示例
保留两位小数:SELECT ROUND(123.456, 2) FROM dual; → 返回123.46。
整数位截断:SELECT ROUND(12345, -2) FROM dual; → 返回12300。
负数处理:ROUND(-3.6, 0) → 返回-4。
二、日期处理
ROUND也可对日期按指定格式四舍五入,例如:
四舍五入到最近的小时:ROUND(SYSDATE, 'HH')。
月份的四舍五入规则:若日期在当月15日前归本月,否则归下月。
三、与TRUNC函数的区别
ROUND:四舍五入到指定精度。
TRUNC:直接截断,不四舍五入(如TRUNC(123.456, 2)返回123.45)。
四、注意事项
输出格式问题:若需强制显示前导零(如0.10),需结合TO_CHAR函数使用格式模型'FM9990.00'。
浮点数精度:Oracle对BINARY_FLOAT和BINARY_DOUBLE类型的处理可能影响结果。
如需进一步控制显示格式,可参考TO_CHAR函数的用法。