select sysdate from dual;
--返回数值为2008-12-18 11:35:53
select trunc(sysdate,'day') from dual;
--返回数值为2008-12-14 为什么不是2008-12-18

解决方案 »

  1.   

    SQL> select trunc(sysdate,'dd') from dual; 
     
    TRUNC(SYSDATE,'DD')
    -------------------
    2008-12-18
    day是按星期截取,所以截取这个星期的第一天星期日,12.14
      

  2.   

    你要得到2008-12-18,你select trunc(sysdate) from dual;就好
    select trunc(sysdate,'day') from dual;的意思是返回今天所在星期的第一天。就是14号,星期天。
     
      

  3.   

    同理,返回今天所在月的第一天select trunc(sysdate,'MM') from dual;