在Oracle数据库中,ROUND
函数用于将数字或日期四舍五入到指定的小数位数或日期单位。以下是 ROUND
函数的详细用法和示例:
ROUND(number) 函数
语法
ROUND(number, decimal_places)
- number:必需。需要四舍五入的数字。
- decimal_places:可选。需要保留的小数位数。默认值为0。如果为负数,则四舍五入到小数点左边的位数。
返回值
ROUND(number)
函数返回一个四舍五入后的数字。
示例
- 四舍五入到最近的整数:
SELECT ROUND(15.193) FROM DUAL;
结果:15
- 四舍五入到指定的小数位:
SELECT ROUND(15.193, 1) FROM DUAL;
结果:15.2
- 四舍五入到小数点左边的位数:
SELECT ROUND(12345, -2) FROM DUAL;
结果:12300
- 处理负数:
SELECT ROUND(-15.193, 1) FROM DUAL;
结果:-15.2
- NULL 参数:
SELECT ROUND(NULL, 1) FROM DUAL;
结果:NULL
ROUND(date) 函数
语法
ROUND(date, format)
- date:必需。需要四舍五入的日期。
- format:可选。指定四舍五入的单位。如果未指定此参数,
date
将被四舍五入到最近的天。
返回值
ROUND(date)
函数返回一个四舍五入后的日期值。
示例
- 四舍五入到最近的天:
SELECT ROUND(TO_DATE('2023-02-12 11:59:59', 'YYYY-MM-DD HH24:MI:SS')) FROM DUAL;
结果:2023-02-12
- 四舍五入到年:
SELECT ROUND(DATE '2023-06-30', 'YEAR') "2023-06-30", ROUND(DATE '2023-07-01', 'YEAR') "2023-07-01" FROM DUAL;
结果:
2023-06-30 2023-07-01
2023-01-01 2024-01-01
- 四舍五入到月:
SELECT ROUND(DATE '2023-02-15', 'MONTH') "2023-02-15", ROUND(DATE '2023-02-16', 'MONTH') "2023-02-16" FROM DUAL;
结果:
2023-02-15 2023-02-16
2023-02-01 2023-03-01
总结
Oracle 的 ROUND
函数非常强大,既可以用于数字的四舍五入,也可以用于日期的四舍五入。通过指定不同的参数,可以灵活地控制四舍五入的精度和单位。无论是处理财务数据还是日期数据,ROUND
函数都是一个非常有用的工具。