oracle 中的trunc()函数及加一个月,一天,一小时,一分钟,一秒钟方法

返回处理后的数据,不同于round()(对数值进行四舍五入处理),该函数不对指定小数前或后的数值部分进行舍入处理。

语法:trunc(number[,decimals])

其中,number为待做处理的数值,decimals为需要保留小数点后面的位数,即精度,默认值为0,此时将截去所有的小数部分。

 

数值处理:

select trunc(123.45) as a,trunc(123.456,2) as b, trunc(123.45,-1) as c from dual ;

 

从以上例子可以看出,第二个参数可为负值,表示为截取小数点左边指定位数后面的部分,即皆为0位,与为整数相似,为1时取十分位,为-1则取到十位,以此类推。当然有一种情况是这样的:trunc(123.45,-5),可以测返回:

select trunc(123.4,-5) from dual;

 

 

日期处理:此时函数返回指定元素格式截去一部分日期值。

语法:trunc(date[,fmt])

Date 为必要参数,是输入的一个日期。Fmt参数可以忽略,是日期格式,用以指定的元素格式来截去输入的日期值,默认为0,此时截去最近的日期。

用法及举例可参考如下:

 

 附:

在当前日期加一个月,加一天,加一小时,加一分钟,加一秒的方法:

oracle中有一个add_mouth()函数,可直接加月份:

select sysdate,add_months(sysdate ,1) from dual;

加一天,加一小时,加一分钟,加一秒:

select
sysdate +1 加一天 ,
sysdate+1/24 加1小时,
sysdate+1/(24*60) as 加1分钟,
sysdate+1/(24*60*60) as 加1秒钟 
from dual 

 

 

---------

本系列为最近一段时间学习oracle的学习笔记,记录于此作为自身回顾,其中有的来的网络,有的来的书籍,但时间已久,记不清哪些是引用,如是转载但没标注出,特意致歉。

 

posted @ 2016-01-20 16:06  Splace  阅读(22349)  评论(0编辑  收藏  举报