http://blog.chinaunix.net/uid-7801695-id-68136.html
round()和trunc()函数的应用
关键字: round()和trunc()函数的应用
round()和trunc()函数
1。应用到数学上
round()的含义是对操作数四舍五入运算。
第一个参数是操作数,第二个参数为精度要求
SELECT ROUND(1.298, 1) from dual; 1.3
SELECT ROUND(1.298, 0) from dual; 1
SELECT ROUND(23.298, -1) from dual; 20
trunc()的含义对操作数直接砍去一部分
第一个参数是操作数,第二个参数表示要保留小数位
SELECT TRUNC(1.223,1) from dual; 1.2
SELECT TRUNC(1.999,1) from dual; 1.9
SELECT TRUNC(1.999,0) from dual; 1
SELECT TRUNC(-1.999,1) from dual; -1.9
SELECT TRUNCATE(122,-2) from dual; 100
SELECT TRUNC(10.28*100,0) from dual; 1028
2.应用到日期上
round()日期进行四舍五入操作
如:
SELECT ROUND (TO_DATE ('27-OCT-00'),'YEAR') 01-JAN-01 对月份进行四舍五入操作
SELECT ROUND (TO_DATE ('27-OCT-00'),'MONTH') 01-NOV-00 对日期进行四舍五入操作
round()日期进行砍去操作
如:
SELECT TRUNC (TO_DATE ('27-OCT-00'),'YEAR') 01-JAN-00 对月份进行砍去操作
SELECT TRUNC (TO_DATE ('27-OCT-00'),'MONTH') 01-OCT-00 对日期进行砍去操作
3.对日期进行round(),trunc()操作的意义在于,当我们要对某段时间内,按月份或年份操作时有重要的作用。
比如:查找5月3号到12月8之间的每月的电费
select sum(dianfei) from (
select dianfei, trunc(date) month from dianfeitable where date between 5月3号 and 12月8号)
group by month