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的学习笔记,记录于此作为自身回顾,其中有的来的网络,有的来的书籍,但时间已久,记不清哪些是引用,如是转载但没标注出,特意致歉。