LuoXinLoves 2015-05-23
--Oracle trunc()函数的用法
/**************日期 TRUNC()函数没有秒的精确 ********************/
select sysdate from dual --当时日期
select trunc(sysdate) from dual
select trunc(sysdate ,'DD') from dual --今天日期
select trunc(sysdate,'d')+7 from dual --本周星期日
select trunc(sysdate,'dy')+7 from dual --本周星期日
select trunc(sysdate,'day')+7 from dual --本周星期日
select trunc(sysdate,'q') from dual--本季开始日期
select trunc(sysdate,'month') from dual --本月开始日期
select trunc(sysdate ,'mm') from dual --本月开始日期
select trunc(sysdate,'year') from dual --本年开始日期
select trunc(sysdate ,'yyyy') from dual --本年开始日期
select trunc(sysdate ,'HH24') from dual --本小时开始时间
select trunc(sysdate ,'MI') from dual --本分钟开始时间
select trunc(sysdate ,'CC') from dual --本世纪开始时间
select trunc(LAST_DAY(sysdate),'dd') from dual --本月最后一天
round(10.2356,2)函数可以对数字按指定保留小数位数四舍五入,这个函数还可以对日期四舍五入
select round(sysdate,'yyyy') from dual 四舍五入到年
select round(sysdate,'mm') from dual 四舍五入到月
select round(sysdate,'dd') from dual 四舍五入到日
select round(sysdate,'hh') from dual 四舍五入到小时
select round(sysdate,'mi') from dual 四舍五入到分钟
/***************数字********************/
/*
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
*/
select trunc(123.458) from dual --123
select trunc(123.458,0) from dual --123
select trunc(123.458,1) from dual --123.4
select trunc(123.458,-1) from dual --120
select trunc(123.458,-4) from dual --0
select trunc(123.458,4) from dual --123.458
select trunc(123) from dual --123
select trunc(123,1) from dual --123
select trunc(123,-1) from dual --120
Oracle中round() 函数与trunc()函数的比较,非常实用。x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。