CURRENT TIMESTAMP 特殊レジスター
CURRENT TIMESTAMP (または CURRENT_TIMESTAMP) 特殊レジスターは、 アプリケーション・サーバーで SQL ステートメントが実行される時点の、 時刻機構の読み取り値にもとづくタイム・スタンプを指定します。
この特殊レジスターが単一の SQL ステートメントで何度も使用される場合、 または単一のステートメントで CURRENT DATE または CURRENT TIME と共に使用される場合、 その値はすべて時刻機構の 1 回の読み取りに基づく値です。 分離 CURRENT TIMESTAMP 特殊レジスターが同じ値に戻ることを要求することは可能です。 固有な値が必要な場合は、GENERATE_UNIQUE 機能、シーケンス、または ID 列の使用を考慮してください。
指定する精度のタイム・スタンプが必要な場合は、特殊レジスターを CURRENT TIMESTAMP(整数) で参照することができます (整数 は 0 から 12 までの範囲の整数)。 デフォルトの精度 (precision) は 6 です。 クロック読み取りの精度はプラットフォームによって異なり、検索されたクロック読み取りの精度が要求の精度より小さい場合は、結果の値にゼロが埋め込まれます。
- CURRENT TIMESTAMP()
- Windows の場合の出力: 2015-03-23-09.41.24.684000
- Linux の場合の出力: 2015-03-23-09.41.24.684842
- UNIX の場合の出力: 2015-03-23-09.41.24.684842
- CURRENT TIMESTAMP(12)
- Windows の場合の出力: 2015-03-23-09.41.24.684000000000
- Linux の場合の出力: 2015-03-23-09.41.24.684842000000
- UNIX の場合の出力: 2015-03-23-09.41.24.684842000000
- CURRENT TIMESTAMP(6)
- Windows の場合の出力: 2015-03-23-09.41.24.684000
- Linux の場合の出力: 2015-03-23-09.41.24.684842
- UNIX の場合の出力: 2015-03-23-09.41.24.684842
- CURRENT TIMESTAMP(3)
- Windows の場合の出力: 2015-03-23-09.41.24.684
- Linux の場合の出力: 2015-03-23-09.41.24.684
- UNIX の場合の出力: 2015-03-23-09.41.24.684
ルーチン内部の SQL ステートメントで使用する場合、呼び出しステートメントからの CURRENT TIMESTAMP の継承はありません。
フェデレーテッド・システムでは、データ・ソースでの使用を目的とした照会で CURRENT TIMESTAMP を使用できます。 この照会が処理されて戻されるタイム・スタンプは、 フェデレーテッド・サーバーの CURRENT TIMESTAMP レジスターから取得されたもので、 データ・ソースから取得されたものではありません。
トランザクション・ワークロード・バランシングが有効になっている Db2® pureScale® インスタンスでは、トランザクションが異なる メンバーで実行される場合、CURRENT TIMESTAMP 特殊レジスターはトランザクション全体で増加する値を必ずしも返すわけではありません。
SYSDATE を CURRENT TIMESTAMP(0) の同義語として指定することもできます。
LOCALTIMESTAMP を CURRENT TIMESTAMP の同義語として指定することもできます。
LOCALTIMESTAMP(integer) を CURRENT TIMESTAMP(integer) の同義語として指定することもできます。
INSERT INTO IN_TRAY
VALUES (CURRENT TIMESTAMP, :SRC, :SUB, :TXT)