trunc用法小结

这段时间要统计上个月的漫游,呼转数据。要用到trunc这个函数。

trunc ( datetime [ , fmt] );

1,得到当年第一天

    select  trunc ( datetime ,‘yy’ )  from dual;

     ---------------------------------------------

     2012-1-1

2,当月第一天

   select  trunc ( datetime ,‘mm’)  from dual;

   --------------------------------------------------

    2012-9-1

3,当前时间的整点,如现在是2012-9-2 15:27:12,处理后得到2012-9-20 15:00:00

 select  trunc ( datetime ,‘hh’)  from dual;

 --------------------------------------------------

    2012-9-20 15:00:00

4,当前时间的整分,如现在是2012-9-2 15:27:12,处理后得到2012-9-20 15:00:00

 select  trunc ( datetime ,‘mi’)  from dual;

 --------------------------------------------------

    2012-9-20 15:27:00

5,想得到明天的指定时间,如2012-9-21 08:21:43

select trunc (sysdate) +1  + 1/24*8 + 1/(24*60)*21 + 1/(24*60*60)*43 from dual;

----------------------------------------------------------------------------------------------------

         2012-9-21 08:21:43

    解释:+1 ,就是加一天

     + 1/24*8, +1/24是加1/24天,也就是一个小时,再乘以8,就是8个小时;

     + 1/(24*60)*21,1天除以24×60分;

     + 1/(24*60*60)*43

猜你喜欢

转载自zzwssfd.iteye.com/blog/1682390