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-1144-171K-JPN
Language
日本語 (日本)

この例では、13.10以前のシステムから、新しいシステムにデータを移行します。新しいシステムは、タイムゾーンがシステム デフォルトに設定されていて、TIMEDATEWZCONTROL = 2がデフォルト設定されています。

古いシステム: 16/17 = 0、57 = 0

この例に使用する テーブル定義は、次のとおりです。

     CREATE SET TABLE t1 ,NO FALLBACK ,
       NO BEFORE JOURNAL,
       NO AFTER JOURNAL,
       CHECKSUM = DEFAULT,
       DEFAULT MERGEBLOCKRATIO
       (
       i INTEGER,
       j TIMESTAMP(6))
     PRIMARY INDEX ( i );

データの行が2行挿入されます。

SELECT * FROM t1;

結果表示は、次のとおりです。

i                           j
-----------  --------------------------
1           2011-11-20 06:28:59.000000
2           9999-12-31 15:59:59.999999

新しいシステムがこのタイム ゾーンに設定されます: 18 = アメリカ太平洋、57=2

テーブルを新しいタイムゾーンに変更します。

ALTER TABLE t1 FROM TIME ZONE='00:00',TIMEDATEWZCONTROL=0;

タイムゾーンを世界協定時(UTC)、またはグリニッジ標準時に設定します。

SET TIME ZONE 'GMT';

行を表示します。

SELECT * FROM t1;

変換した日付とタイムスタンプ情報は、次のように表示されます。

i                           j
-----------  --------------------------
1           2011-11-20 14:28:59.000000
2           9999-12-31 23:59:59.000000

タイムゾーンをセッションのユーザー デフォルトに設定します。

SET TIME ZONE USER;

行を表示します。

SELECT * FROM t1;

変換した日付とタイムスタンプ情報は、次のように表示されます。

i                           j
-----------  --------------------------
1           2011-11-20 06:28:59.000000
2           9999-12-31 15:59:59.000000