SYSDATE函数返回服务器的当前日期和时间,而CURRENT_DATE函数返回当前会话时中的当前日期和时间
SYSDATE 系统时间
CURRENT_DATE 会话时间
一般情况下,二者相同。但如果修改了当前会话的时区,则会不同。
SQL> SELECT SESSIONTIMEZONE FROM DUAL;
SESSIONTIMEZONE
------------------------------
+08:00
SQL> SELECT SYSDATE,CURRENT_DATE FROM DUAL;
SYSDATE CURRENT_DATE
----------------- -----------------
20060211 20:04:51 20060211 20:04:51
SQL> ALTER SESSION SET TIME_ZONE='+09:00';
会话已更改。
SQL> SELECT SYSDATE,CURRENT_DATE FROM DUAL;
SYSDATE CURRENT_DATE
----------------- -----------------
20060211 20:05:00 20060211 21:05:00
SYSDATE 系统时间
CURRENT_DATE 会话时间
一般情况下,二者相同。但如果修改了当前会话的时区,则会不同。
SQL> SELECT SESSIONTIMEZONE FROM DUAL;
SESSIONTIMEZONE
------------------------------
+08:00
SQL> SELECT SYSDATE,CURRENT_DATE FROM DUAL;
SYSDATE CURRENT_DATE
----------------- -----------------
20060211 20:04:51 20060211 20:04:51
SQL> ALTER SESSION SET TIME_ZONE='+09:00';
会话已更改。
SQL> SELECT SYSDATE,CURRENT_DATE FROM DUAL;
SYSDATE CURRENT_DATE
----------------- -----------------
20060211 20:05:00 20060211 21:05:00