截断函数trunc()
两种用法
1,截断时间
TRUNC函数为指定元素而截去的日期值。
其具体的语法格式如下:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
举例:sysdate='2008-10-16'
(1)当年第一天
select trunc(sysdate,'year') dated from dual
结果:2008-1-1
说明:其中[,fmt]部分可以为 'syear','year','syyyy','yyyy','yyy','yy','y',返回结果相同
(2)当年当月第一天
select trunc(sysdate,'month') dated from dual
结果:2008-10-1
说明:其中[,fmt]部分可以为 'month','mon','mm','rm',返回结果相同
(2)当年当月当周第一天(西方周日为每周第一天)
select trunc(sysdate,'day') dated from dual
结果:2008-10-12
说明:其中[,fmt]部分可以为 'day','dd','d',返回结果相同
2,截断数值
TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
举例:
select trunc(89.9854,2) dated from dual
结果:89.98
select trunc(89.9854) dated from dual
结果:89
select trunc(89.9854,-1) dated from dual
结果:80
--------------------------
类似函数联想:
1.substr(str,pos,len)
字符串截断函数
2.floor(n)
返回小于等于n的最大整数
3.ceil(n)
返回大于等于n的最小整数
4.round(n1,n2)
n2不写,默认四舍五入小数部分