round()和trunc()函数的应用

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

原文地址:https://www.cnblogs.com/roger0212/p/4436693.html