例: WEEK_DAYを使用したアンカー ポイントの拡張 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

次の定義を使用して、tdateという名前のテーブルを作成します。

     CREATE SET TABLE tdate (
       id       INTEGER,
       quantity INTEGER,
       pd       PERIOD(DATE))
     PRIMARY INDEX (id);

tdateに2行挿入します。これらの定数は以下のようになります。

id Quantity pd
11 110 2005-02-03, 2005-06-20
10 100 2004-01-03, 2004-05-20

月曜日固定のEXPAND ON句を指定するtdateに対してSELECT文を実行すると、拡張される各行は、文で指定したとおりに月曜から始まり、各拡張期間の継続期間は7日間となります。

     SELECT id, BEGIN(bg)
     FROM tdate
     EXPAND ON pd AS bg BY ANCHOR MONDAY;

データベースは、文のBY ANCHOR句で指定したとおり、適格なデータの最初の月曜から始めて、指定された期間の各週のtdate詳細を返します。

tdate内の最初の行は、月曜ではなく、火曜に始まるので、拡張された行は次の月曜の日付、2月7日に始まり、その後は毎週増える形で続行します。

id

--

begin(bg)

---------

11 2005-02-07
11 2005-02-14
11 2005-02-21
11 2005-02-28
11 2005-03-07
11 2005-03-14
11 2005-03-21
11 2005-03-28
11 2005-04-04
11 2005-04-11
11 2005-04-18
11 2005-04-25
11 2005-05-02
11 2005-05-09
11 2005-05-16
11 2005-05-23
11 2005-05-30
11 2005-06-06
11 2005-06-13
10 2004-01-05
10 2004-01-12
10 2004-01-12
10 2004-01-19
10 2004-01-26
10 2004-02-02
10 2004-02-09
10 2004-02-16
10 2004-02-23
10 2004-03-01
10 2004-03-08
10 2004-03-15
10 2004-03-22
10 2004-03-29
10 2004-04-05
10 2004-04-12
10 2004-04-19
10 2004-04-26
10 2004-05-03
10 2004-05-10
10 2004-05-17