current_date与sysdate区别


current_date与sysdate区别

在oracle中current_date与sysdate都是显示当前系统时间, 其结果基本相同,但是有三点区别:

1. current_date返回的是当前会话时间,而sysdate返回的是服务器时间.

2.current_date有时比sysdate快一秒,这可能是四舍五入的结果.

3. 如果修改当前会话的时区,比如将中国的时区为东八区,修改为东九区,则current_date显示的时间为东九区时间, 根据东加西减的原则,current_date应该比sysdate快一小时.

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

20:01:26 SQL> select current_date,sysdate from dual;

CURRENT_DATE        SYSDATE
------------------- -------------------
2009-03-10 20:01:37 2009-03-10 20:01:37

Elapsed: 00:00:00.00
20:01:37 SQL> select current_date,sysdate from dual;

CURRENT_DATE        SYSDATE
------------------- -------------------
2009-03-10 20:01:43 2009-03-10 20:01:43

Elapsed: 00:00:00.01
20:01:43 SQL> select current_date,sysdate from dual;

CURRENT_DATE        SYSDATE
------------------- -------------------
2009-03-10 20:01:44 2009-03-10 20:01:43

注意,current_date与sysdate快了一秒

修改当前会话时区为东九区

alter session set time_zone='+09:00'

20:04:19 SQL> select current_date,sysdate from dual

CURRENT_DATE        SYSDATE
------------------- -------------------
2009-03-10 21:04:22    2009-03-10 20:04:22


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM