SYSTIMESTAMP
構文
目的
SYSTIMESTAMP
は、データベースが存在するシステムの、秒の小数部とタイムゾーンを含む日付を戻します。戻り値の型は、TIMESTAMP
WITH
TIME
ZONE
です。
マルチテナント設定では、後で作成された既存のPDBはシステムのタイムゾーンを継承します。
SYSTIMESTAMP
でPDBのタイムゾーンを戻す場合は、PDBを起動する前に初期化パラメータTIME_AT_DBTIMEZONE
をTRUE
に設定する必要があります。
タイムゾーンは、ALTER SYSTEM SET TIME_ZONE
またはALTER DATABASE db_name SET TIME_ZONE
を使用して変更できます。
初期化パラメータTIME_AT_DBTIMEZONE
をFALSE
に設定し、データベースを再起動することで、システム時間を戻すように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
によって異なります。