16.20 - 例: 新しいタイムゾーン文字列の追加 - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL日付と時刻の関数および式

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1211-162K-JPN
例えば、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'タイムゾーン文字列の間に配置する必要があります。