oracle trunc()函数的用法

TRUNC()函数分两种

1.TRUNC(for dates)
        TRUNC函数为指定元素而截去的日期值。
        其具体的语法格式如下:
        TRUNC(date[,fmt])
        其中:
        date        一个日期值
        fmt                日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
        下面是该函数的使用情况:
        select trunc(sysdate,'mm') from dual   --2007-1-1   当月第一天
        select trunc(sysdate,'yy') from dual      --2007-1-1    当年第一天
        select trunc(sysdate,'dd') from dual     --2007-1-15   当天
        select trunc(sysdate,'day') from dual   --2007-1-14   本周第一天
        select trunc(sysdate) from dual           --2007-1-15   当天

        比较下面三个的不同:
        select last_day(sysdate)+2 from dual;                            --2007-2-2 19:07:52
       select (last_day(sysdate)+2)+10/24 from dual;              --2007-2-3 5:07:18
        select trunc(last_day(sysdate)+2)+10/24 from dual     --2007-2-2 10:00:00
      
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记。