以下の例では、オープン行とクローズ行の混合を含むemployee_systimeという名前の次のシステムのバージョン情報を含むsystem-timeテーブルに対して問合わせが実行されると仮定しています。
eid ename deptno sys_start sys_end ---- ------ ------ -------------------------------- -------------------------------- 1002 Ash 333 2003-07-01 12:11:00.000000-08:00 9999-12-31 23:59:59.999999+00:00 1005 Alice 222 2004-12-01 00:12:23.120000-08:00 2005-05-01 12:00:00.450000-08:00 1004 Fred 222 2002-07-01 12:00:00.350000-08:00 2005-05-01 12:00:00.350000-08:00 1001 Sania 111 2002-01-01 00:00:00.000000-08:00 9999-12-31 23:59:59.999999+00:00 1003 SRK 111 2004-02-10 00:00:00.000000-08:00 2006-03-01 00:00:00.000000-08:00 1004 Fred 555 2005-05-01 12:00:00.350000-08:00 9999-12-31 23:59:59.999999+00:00 1005 Alice 555 2005-05-01 12:00:00.450000-08:00 9999-12-31 23:59:59.999999+00:00
sys_end日付が9999-12-31 23:59:59.999999+00:00でない行は、システム時間でクローズしています。これらの行は最初にテーブルに追加されましたが、テーブルの以前の状態の永続的な記録としてテーブルに残っているため、テーブルから論理的に削除されているか、変更されています。これらの行はUPDATEやDELETEなどのほとんどのSQL操作に参加できませんが、テンポラル修飾子を使用して、system-timeテーブルから取り出すことができます。
この場合、テーブルはFredとAliceの部門値(deptno列)が2005-05-01で変更されたことを示しています。この日付はFredとAliceのクローズ行の終了日であり、新しい情報を含む新しい行の開始日です。
SRKには、9999-12-31 23:59:59.999999+00:00より前のsys_end日付も表示されますが、SRKのテーブルにはオープン行は残っていないため、sys_end日付は行がテーブルから(論理的に)削除された時を示します。
テンポラル修飾子のない簡単なSELECTは、system-timeテーブルのオープンでアクティブな行のみを表示します。オープン行は終了境界が9999-12-31 23:59:59.999999+00:00のsystem-time期間によって示されます。
SELECT * FROM employee_systime; eid ename deptno sys_start sys_end ---- ------ ------ -------------------------------- -------------------------------- 1002 Ash 333 2003-07-01 12:11:00.000000-08:00 9999-12-31 23:59:59.999999+00:00 1001 Sania 111 2002-01-01 00:00:00.000000-08:00 9999-12-31 23:59:59.999999+00:00 1004 Fred 555 2005-05-01 12:00:00.350000-08:00 9999-12-31 23:59:59.999999+00:00 1005 Alice 555 2005-05-01 12:00:00.450000-08:00 9999-12-31 23:59:59.999999+00:00
これは、今日、問合わせが処理される時点の情報の状態を反映しています。テンポラル修飾子を使用して、過去の任意の時間に存在したテーブルのスナップショットを表示し、テーブルの前の状態に対して真であった結果を返すことができます。