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