例: 新しいタイムゾーン文字列の追加 - Teradata Database - Teradata Vantage NewSQL Engine - EXTRACT、GetTimeZoneDisplacement関数、例: 新しいタイムゾーン文字列の追加。

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/pxz1544241488545.ditamap
dita:ditavalPath
ja-JP/pxz1544241488545.ditaval
dita:id
B035-1211
Product Category
Software
Teradata Vantage
例えば、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'タイムゾーン文字列の間に配置する必要があります。