SYSDATE与CURRENT_DATE区别

 

    SYSDATE与CURRENT_DATE都是取当前系统日期,但也是有区别的:

             SYSDATE   系统时间     CURRENT_DATE   会话时间  

 

 

  • SQL>   SELECT   SYSDATE,CURRENT_DATE   FROM   DUAL;  

   
  SYSDATE                              CURRENT_DATE  
  -----------------                       -----------------  
  2009-02-25 16:38:01.0       2009-02-25 16:38:01.0

 

  一般情况下,二者相同,但有时CURRENT_DATE比SYSDATE快一秒,

 

  SYSDATE                              CURRENT_DATE  
  -----------------                       -----------------  
  2009-02-25 16:38:43.0       2009-02-25 16:38:44.0


 

  •   但如果修改了当前会话的时区,则会不同。  

   
  SQL>   SELECT   SESSIONTIMEZONE   FROM   DUAL;  
   
  SESSIONTIMEZONE  
  ------------------------------  
  +08:00  

  •   SQL>   SELECT   SYSDATE,CURRENT_DATE   FROM   DUAL;  

   
  SYSDATE                              CURRENT_DATE  
  -----------------                       -----------------  
  2009-02-25 16:42:10.0       2009-02-25 16:42:10.0


  •   SQL>   ALTER   SESSION   SET   TIME_ZONE='+09:00';  

   
  会话已更改。  


  •   SQL>   SELECT   SYSDATE,CURRENT_DATE   FROM   DUAL;  

   
  SYSDATE                              CURRENT_DATE  
  -----------------                       -----------------  
  2009-02-25 16:42:48.0       2009-02-25 17:42:49.0  

你可能感兴趣的:(DB)