GETDATE
ローカルの現在の日付と時刻を表すタイムスタンプを返します。このタイムスタンプは、文を実行したシステムによって決まります。
SQL構文
SYSDATE | GETDATE( )
パラメータ
SYSDATEおよびGETDATE( )関数にはパラメータがありません。
説明
- SYSDATEとGETDATE( )の機能は同じです。SYSDATEはOracle構文と互換性があり、GETDATE( )はMicrosoft SQLサーバー構文と互換性があります。
- SYSDATEとGETDATE( )に引数はありません。TIMESTAMPの値を返します。
- SYSDATEまたはGETDATE( )の値は、実行時にのみ検索されます。
- SYSDATEは、現在INSERT文で使用できる唯一の式です。
INSERT INTO t VALUES (SYSDATE);
- タイムスタンプに対する変更(たとえば、異なるタイムゾーンやサマータイムの組込みなど)は、システム・レベルで実行する必要があります。SYSDATEまたはGETDATE( )を使用してタイムスタンプを変更することはできません。
- SYSDATEとGETDATE( )関数は、TimesTenをNTプラットフォームで実行している場合を除き、マイクロ秒の精度でタイムスタンプを返します。NTでは、ミリ秒の精度でタイムスタンプが返されます。TimesTenのTIMESTAMPの形式は、'YYYY-MM-DD HH: MM: SS.[FFFFFF]'です。
- SYSDATEとGETDATE( )は組込み関数で、タイムスタンプ式を使用しているところで使用できます。それらはSELECTの選択リスト、WHERE句、値の挿入に使用できます。GROUP BY句(列名のみ得られます)、SUMまたはAVG集計(オペランドは数値である必要があります)、COUNT集計(列名を得られます)においては、それらを使用できません。
- SYSDATEとGETDATE( )は、単一のSQL文では、同じタイムスタンプの値を返します。
例
次の例は、単一のSQL文内のSYSDATE/GETDATE( )へのすべての参照が、効果的に同時に評価されることを示します。
例11.26
この例では、SYSDATEはt1から返されるすべての行の値と同じになります。
例11.27
この例では、現在の日付と時刻を含む列を表t1に挿入します。
例11.28
この例では、問合せの実行に数秒かかる場合でも、GETDATE( )は表の各新規行に同じタイムスタンプの値を挿入します。
例11.29