例: ANSI system-timeテーブルでのBETWEEN AND問合わせ - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - ANSIテンポラル テーブル サポート

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/kit1592007446534.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1186
Product Category
Software
Teradata Vantage

FredとAliceの行への変更の性質を見るには、変更の前後に存在した行を返す問合わせが必要です。変更の時間を測定するBETWEEN ... ANDテンポラル修飾子付きの問合わせを送信できます。AS OF問合わせから変更が2005年5月1日に発生したことがわかっています。

SELECT * 
FROM employee_systime 
FOR SYSTEM_TIME BETWEEN TIMESTAMP'2005-04-30 00:00:00.000001-08:00' AND                         TIMESTAMP'2005-05-02 00:00:00.000001-08:00' 
WHERE ename='Fred' OR ename='Alice' 
ORDER BY ename;

 eid ename  deptno                        sys_start                          sys_end
---- ------ ------ -------------------------------- --------------------------------
1005 Alice     222 2004-12-01 00:12:23.120000-08:00 2005-05-01 12:00:00.450000-08:00
1005 Alice     555 2005-05-01 12:00:00.450000-08:00 9999-12-31 23:59:59.999999+00:00
1004 Fred      222 2002-07-01 12:00:00.350000-08:00 2005-05-01 12:00:00.350000-08:00
1004 Fred      555 2005-05-01 12:00:00.350000-08:00 9999-12-31 23:59:59.999999+00:00

この結果から、2004年12月1日から2005年5月1日までAliceが222部門にいたことは明らかです。2005年5月1日から現在まで、Aliceは555部門にいます。同様に、Fredは222部門から始まり、2002年7月1日から2005年5月1日までそこにいました。その後彼の所属部門は555に変わり、今日も555のままです。おそらく、222部門の社員は2005年に部門が変わったか、部門番号が変更された可能性があります。