SYSDATEおよびGETDATE

書式YYYY-MM-DD HH:MI:SSで日付を戻します。この日付は、ローカルの現在の日時を表し、文を実行したシステムによって決定されます。

SQL構文

SYSDATE | GETDATE( )

パラメータ

SYSDATEおよびGETDATE関数にはパラメータがありません。

説明

  • SYSDATEおよびGETDATEの機能は同じです。SYSDATEは、Oracle Database構文と互換性があります。GETDATEはMicrosoft SQLサーバー構文と互換性があります。

  • SYSDATEGETDATEに引数はありません。DATE値を戻します。

  • SYSDATEまたはGETDATEの値は、実行時にのみ検索されます。

  • 日付に対する変更(たとえば、異なるタイムゾーンやサマータイムの組込みなど)は、システム・レベルで実行する必要があります。SYSDATEまたはGETDATEを使用して日付を変更することはできません。

  • SYSDATE関数とGETDATE関数はDATEデータ型を戻します。DATEの書式は'YYYY-MM-DD HH:MI:SS'です。

  • SYSDATEGETDATEは組込み関数で、日付式を使用しているところで使用できます。これらは、INSERT...SELECTの選択リスト、WHERE句、挿入値に使用できます。SUMまたはAVG集計(オペランドは数値である必要があります)、COUNT集計(列名が必要です)では使用できません。

  • SYSDATEGETDATEは、単一のSQL文では、同じDATE値を戻します。

  • TT_SYSDATEリテラルおよびORA_SYSDATEリテラルがサポートされています。TT_SYSDATEは、TT_TIMESTAMPデータ型を戻します。ORA_SYSDATEDATEデータ型を戻します。

この例では、SYSDATEを呼び出して、表内のすべての行に対して同じ日付と時刻を戻します。

Command> SELECT SYSDATE FROM dual;
< 2006-09-03 10:33:43 >
1 row found. 

この例では、SYSDATEを呼び出して、現在の日付と時刻を列datecolに挿入します。

Command> CREATE TABLE t (datecol DATE);
Command> INSERT INTO t VALUES (SYSDATE);
1 row inserted.
Command> SELECT * FROM t;
< 2006-09-03 10:35:50 >
1 row found.

この例では、GETDATE表の新しい行それぞれに同じ日付の値を挿入します。ただし、問合せの実行には数秒かかります。

INSERT INTO t1 SELECT GETDATE(), col1 FROM t2 WHERE ...;

TO_CHARSYSDATEともに使用して、表dualから日付を戻します。

Command> SELECT TO_CHAR (SYSDATE) FROM dual;
< 2006-09-03 10:56:35 >
1 row found.

この例では、TT_SYSDATEを呼び出してTT_TIMESTAMPデータ型を戻してから、ORA_SYSDATEを呼び出してDATEデータ型を戻します。

Command> SELECT tt_sysdate FROM dual;
< 2006-10-31 20:02:19.440611 >
1 row found.
Command> SELECT ora_sysdate FROM dual;
< 2006-10-31 20:02:30 >
1 row found.