17.10 - TimeDateWZControl - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベース ユーティリティ

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
構成
Publication ID
B035-1102-171K-JPN
Language
日本語 (日本)
TIMEおよびTIMESTAMPデータをTeradataファイル システムに格納する方法を決定します。組み込み関数CURRENT_TIME、CURRENT_TIMESTAMP、およびCURRENT_DATEにセッション時間とセッション タイムゾーン オフセットが反映されるかどうかも決定します。
このフィールドは、DATEおよびTIME組み込み関数の出力には影響しません。

フィールド グループ

一般

有効な設定値

設定 説明
0 無効。時刻と日付の組み込み関数によって返される値に、データベース サーバーのローカル時間の値は反映されますが、ユーザーまたはセッションに定義されたタイムゾーンの値は反映されません。これは、設定値が1の場合と同じです。
1 無効。時刻と日付の組み込み関数によって返される値に、データベース サーバーのローカル時間の値は反映されますが、ユーザーまたはセッションに定義されたタイムゾーンの値は反映されません。これは、設定値が0の場合と同じです。
2 有効。時刻と日付の組み込み関数によって返される値に、セッション タイムとセッション タイムゾーンが反映されます。DateTimeの値は、データベースにUTCとして格納されます。
3 有効。時刻と日付の組み込み関数によって返される値に、セッション タイムとセッション タイムゾーンが反映されます。DateTime値でゾーン情報のないものは、データベースにシステムのローカル時間として格納されます。

システムのローカル時間の時差は、SDFファイルとtdlocaledefユーティリティを使用するか、またはSystem TimeZone HourとSystem TimeZone MinuteのDBS制御設定を使用して定義されます。

デフォルト

以下の場合は2になります。
  • 新しいTeradataシステム。
  • 以前のデータベース リリースからアップグレードまたは再初期化(SysInit)され、TimeDateWZControlが0、System TimeZone HourまたはSystem TimeZone Minuteが0以外だったシステム。
以前のデータベース リリースからアップグレードまたは再初期化(SysInit)され、TimeDateWZControlの値が0以外だったシステムの場合、この値はアップグレードまたは初期化(SysInit)後も変わりません。

変更の反映

DBS制御レコードへの書き込みが行なわれた後。

使用上の注意

テンポラル テーブルを使用するためには、TimeDateWZControlが有効になっている必要があります。テンポラル テーブルの詳細については、<Teradata Vantage™ - ANSIテンポラル テーブル サポート、B035-1186>と<Teradata Vantage™ - テンポラル テーブル サポート、B035-1182>を参照してください。

セッション タイムゾーンは次の方法で設定できます。
  • CREATE USER文のTIME ZONEパラメータ

    デフォルトのタイムゾーンの時差をユーザーによって開かれたセッションに使用されたUTCから設定します。

  • SET TIME ZONE文

    タイムゾーンの時差を現在のセッションのUTCから設定します。現在のユーザーに定義されたタイムゾーンを上書きします。

セッション タイムゾーンが、これらのいずれの方法でも定義されていない場合、セッション タイムゾーンはデフォルトで、DBS制御フィールドのSystem TimeZone HourSystem TimeZone Minuteで定義されたデータベース システム時刻タイムゾーンになります。

例: DBS制御のTimeDateWZControlフィールドの使用

以下の例では、次のように想定します。
  • データベース サーバーのローカル時間は、協定世界時(UTC)で2010年1月31日の11:59:00です。
  • ユーザーTKは東京に住んでいて、タイムゾーンをUTCから+9時間の時差で定義しています。
  • ユーザーLAはロサンゼルスに住んでいて、タイムゾーンをUTCから-8時間の時差で定義しています。
  • ユーザーTKとユーザーLAが、同時にCURRENT_TIMESTAMP関数を実行します。

このフィールドが有効になっている場合、次のようになります。

ユーザーTKの場合、CURRENT_TIMESTAMP関数は、次の値を返します。

2010-02-01 20:59:00.000000+09:00

ユーザーLAのCURRENT_TIMESTAMP関数は、以下を返します。

2010-01-31 03:59:00.000000-08:00

このフィールドが無効になっている場合、次のようになります。

ユーザーTKの場合、CURRENT_TIMESTAMP関数は、次の値を返します。

2010-01-31 11:59:00.000000+09:00

ユーザーLAのCURRENT_TIMESTAMP関数は、以下を返します。

2010-01-31 11:59:00.000000-08:00

CURRENT_TIME関数とCURRENT_DATE関数も、同じような結果を表示します。

関連情報

詳細情報 参照先
Teradataの時刻と日付の組み込み関数 Teradata Vantage™ - SQLの日付/時刻関数と式、B035-1211
セッション タイムゾーンの設定 <Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>のSET TIME ZONE、CREATE USER、およびMODIFY USERに関する情報。
DateTime、Interval、およびPERIOD データ型 Teradata Vantage™ - データ タイプおよびリテラル、B035-1143
System TimeZoneフィールド System TimeZone HourSystem TimeZone Minute
テンポラル テーブル Teradata Vantage™ - テンポラル テーブル サポート、B035-1182