Oracle trunc时间截断

TRUNC()函數分兩種

1.TRUNC(for dates)

TRUNC函数为指定元素而截去的日期值。

其具体的语法格式如下:

TRUNC(date[,fmt])

其中:

date 一个日期值

fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去

下面是该函数的使用情况:

TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))

=’24-Nov-1999 12:00:00 am’

TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’)) =’24-Nov-1999 08:00:00 am’

2.TRUNC(for number)

TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。

其具体的语法格式如下

TRUNC(number[,decimals])

其中:

number 待做截取处理的数值

decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分

下面是该函数的使用情况:

TRUNC(89.985,2)=89.98

TRUNC(89.985)=89

TRUNC(89.985,-1)=80

注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。

 

记住:时间的截断:
*1) 一天的临界点(今天的0点0分0秒) trunc(sysdate),
       也可写成:trunc(sysdate,'DD')

*2) 本周的临界点(本周的第一天的0点0分0秒):trunc(sysdate,'D')

*3) 本月的临界点(本月的第一天的0点0分0秒):trunc(sysdate,'MM')

*4) 本年的临界点(本年的第一天的0点0分0秒):trunc(sysdate,'YYYY')

你可能感兴趣的:(oracle,Date,工作)