SYSTIMESTAMP

構文

目的

SYSTIMESTAMPは、データベースが存在するシステムの、秒の小数部とタイムゾーンを含む日付を戻します。戻り値の型は、TIMESTAMP WITH TIME ZONEです。

マルチテナント設定では、後で作成された既存のPDBはシステムのタイムゾーンを継承します。

SYSTIMESTAMPでPDBのタイムゾーンを戻す場合は、PDBを起動する前に初期化パラメータTIME_AT_DBTIMEZONETRUEに設定する必要があります。

タイムゾーンは、ALTER SYSTEM SET TIME_ZONEまたはALTER DATABASE db_name SET TIME_ZONEを使用して変更できます。

初期化パラメータTIME_AT_DBTIMEZONEFALSEに設定し、データベースを再起動することで、システム時間を戻すようにSYSTIMESTAMPを設定できます。

ノート:

詳細は、『Oracle Databaseリファレンス』のTIME_AT_DBTIMEZONEを参照してください。

次の例では、システムのタイムスタンプを戻します。

SELECT SYSTIMESTAMP FROM DUAL;

SYSTIMESTAMP
------------------------------------------------------------------
28-MAR-00 12.38.55.538741 PM -08:00

次の例では、秒の小数部を明示的に指定する方法を示します。

SELECT TO_CHAR(SYSTIMESTAMP, 'SSSSS.FF') FROM DUAL;

TO_CHAR(SYSTIME
---------------
55615.449255

次の例では、指定したタイムゾーンでの現在のタイムスタンプを戻します。

SELECT SYSTIMESTAMP AT TIME ZONE 'UTC' FROM DUAL;
 
SYSTIMESTAMPATTIMEZONE'UTC'
---------------------------------------------------------------------------
08-07-21 20:39:52,743557 UTC

この例の出力書式は、セッションのNLS_TIMESTAMP_TZ_FORMATによって異なります。