SYSTIMESTAMP/CURRENT_TIMESTAMP/LOCALTIMESTAMPのメモ
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production に接続されました。 SQL> select systimestamp, current_timestamp, localtimestamp from dual; SYSTIMESTAMP CURRENT_TIMESTAMP LOCALTIMESTAMP ----------------------------------- ----------------------------------- ------------------------------ 13-07-28 16:58:07.458000 +09:00 13-07-28 16:58:07.458000 +09:00 13-07-28 16:58:07.458000 SQL> select 2 extract(hour from systimestamp) as systimestamp_h 3 , extract(hour from current_timestamp) as current_timestamp_h 4 , extract(hour from localtimestamp) as localtimestamp_h 5 from dual; SYSTIMESTAMP_H CURRENT_TIMESTAMP_H LOCALTIMESTAMP_H -------------- ------------------- ---------------- 7 7 16 SQL> alter session set time_zone = 'UTC'; セッションが変更されました。 SQL> select systimestamp, current_timestamp, localtimestamp from dual; SYSTIMESTAMP CURRENT_TIMESTAMP LOCALTIMESTAMP ----------------------------------- ----------------------------------- ------------------------------ 13-07-28 16:59:30.740000 +09:00 13-07-28 07:59:30.740000 UTC 13-07-28 07:59:30.740000 SQL> select 2 extract(hour from systimestamp) as systimestamp_h 3 , extract(hour from current_timestamp) as current_timestamp_h 4 , extract(hour from localtimestamp) as localtimestamp_h 5 from dual; SYSTIMESTAMP_H CURRENT_TIMESTAMP_H LOCALTIMESTAMP_H -------------- ------------------- ---------------- 7 7 7
EXTRACTする時に注意なんですね。localtimestampを使ってEXTRACTしたい。