SYSDATEおよびGETDATE
書式YYYY-MM-DD HH:MI:SSで日付を戻します。この日付は、ローカルの現在の日時を表し、文を実行したシステムによって決定されます。
SQL構文
SYSDATE | GETDATE( )
パラメータ
SYSDATEおよびGETDATE関数にはパラメータがありません。
説明
-
SYSDATEおよびGETDATEの機能は同じです。SYSDATEは、Oracle Database構文と互換性があります。GETDATEはMicrosoft SQLサーバー構文と互換性があります。 -
SYSDATEとGETDATEに引数はありません。DATE値を戻します。 -
SYSDATEまたはGETDATEの値は、実行時にのみ検索されます。 -
日付に対する変更(たとえば、異なるタイムゾーンやサマータイムの組込みなど)は、システム・レベルで実行する必要があります。
SYSDATEまたはGETDATEを使用して日付を変更することはできません。 -
SYSDATE関数とGETDATE関数はDATEデータ型を戻します。DATEの書式は'YYYY-MM-DD HH:MI:SS'です。 -
SYSDATEとGETDATEは組込み関数で、日付式を使用しているところで使用できます。これらは、INSERT...SELECTの選択リスト、WHERE句、挿入値に使用できます。SUMまたはAVG集計(オペランドは数値である必要があります)、COUNT集計(列名が必要です)では使用できません。 -
SYSDATEとGETDATEは、単一のSQL文では、同じDATE値を戻します。 -
TT_SYSDATEリテラルおよびORA_SYSDATEリテラルがサポートされています。TT_SYSDATEは、TT_TIMESTAMPデータ型を戻します。ORA_SYSDATEはDATEデータ型を戻します。
例
この例では、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_CHARをSYSDATEともに使用して、表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.