17.10 - 例: 新しいタイムゾーン文字列の追加 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLの日付/時刻関数と式

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1211-171K-JPN
Language
日本語 (日本)
例えば、1つのルールと以下のタイムゾーン変位情報を含む、新しいタイムゾーン文字列'Europe Azores'を追加すると仮定します。
  • 3月の最終日曜日、ローカル タイムの午前12:00にDTSを開始する。
  • 10月の最終日曜日、ローカル タイムの午前1:00にDTSを開始する。
  • 標準タイムゾーンのUTCからのオフセットは、-1時間。
  • 夏時間のUTCからのオフセットは、0時間。
  • このルールの開始年は、2009年。
  • このルールの終了年は、2010年。

この情報を基にすると、新しいタイムゾーン文字列'Europe Azores'のエントリは、次のようになります。

{"Europe Azores", 1,                         <= 1 rule defined for 'Europe Azores'
  {{{3,  3, 0, 0, -1, "00:00:00"},           <= Start of rule 1, startDST information
    {3, 10, 0, 0, -1, "01:00:00"},           <= endDST information
    {2009, 2010, -1, 0, 0, 0}},              <= validyrs information
   {{0, 0, 0, 0, 0, "00:00:00"},             <= Start of rule 2
    {0, 0, 0, 0, 0, "00:00:00"},
    {0, 0, 0, 0, 0, 0}},
   {{0, 0, 0, 0, 0, "00:00:00"},             <= Start of rule 3
    {0, 0, 0, 0, 0, "00:00:00"},
    {0, 0, 0, 0, 0, 0}},
   {{0, 0, 0, 0, 0, "00:00:00"},             <= Start of rule 4
    {0, 0, 0, 0, 0, "00:00:00"},
    {0, 0, 0, 0, 0, 0}},
   {{0, 0, 0, 0, 0, "00:00:00"},             <= Start of rule 5
    {0, 0, 0, 0, 0, "00:00:00"},
    {0, 0, 0, 0, 0, 0}},
   {{0, 0, 0, 0, 0, "00:00:00"},             <= Start of rule 6
    {0, 0, 0, 0, 0, "00:00:00"},
    {0, 0, 0, 0, 0, 0}}
  },
  -1, 0                                      <= Standard time zone displacement
},

タイムゾーン文字列のエントリには、6つ分のルールのスペースがありますが、この例では、開始年の2009年と終了年の2010年用に1つのルールを使用しているだけです。

新しい'Europe Azores'タイムゾーン文字列は、構造体のアルファベット順が保たれるように、TZ_DST構造体内の'Australia Western'と'Europe Central'タイムゾーン文字列の間に配置する必要があります。