SYSDATE

構文

目的

SYSDATEは、データベース・サーバーが存在するオペレーティング・システムの現在の日付と時刻のセットを戻します。戻り値のデータ型はDATEです。戻り値の書式は、NLS_DATE_FORMAT初期化パラメータの値によって異なります。この関数に引数を指定する必要はありません。分散SQL文では、このファンクションはローカル・データベースのオペレーティング・システムの日付と時刻のセットを戻します。このファンクションはCHECK制約の条件の中では使用できません。

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

SYSDATEで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を参照してください。

  • FIXED_DATE初期化パラメータを使用して、SYSDATEが常に現在の日時のかわりに戻す変わらない日時を設定できます。このパラメータは、主にテストに役立ちます。FIXED_DATE初期化パラメータの詳細は、Oracle Databaseリファレンスを参照してください。

次の例では、オペレーティング・システムの現在の日付および時刻を戻します。

SELECT TO_CHAR
    (SYSDATE, 'MM-DD-YYYY HH24:MI:SS') "NOW"
     FROM DUAL;

NOW
-------------------
04-13-2001 09:45:51