17.10 - 使用上の注意 - 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-1143-171K-JPN
Language
日本語 (日本)

TIMESTAMP WITH TIME ZONEの内部表現

概念的にはTIMESTAMP WITH TIME ZONEは、グレゴリオ暦で正しく定義された8つの数値フィールドで構成されたレコードとして扱われます。

フィールド名 最小値 最大値 Storage Format
SECOND 00.000000 61.999999

この値は、時計に追加できるうるう秒を考慮に入れます。

INTEGER(DECIMAL(8,6))
YEAR 0001 9999 SMALLINT
MONTH 01 12 BYTEINT
DAY 01 28、29、30、または31

(月と年に対応)

BYTEINT
HOUR 00 23 BYTEINT
MINUTE 00 59 BYTEINT
TIMEZONE_HOUR -12.59 +14.00 BYTEINT
TIMEZONE_MINUTE BYTEINT

レコードは数値フィールドで構成されていますが、数値として処理されません。

内部格納形式の長さは12バイトです。

TIMESTAMP WITH TIME ZONEの外部表現

TIMESTAMP WITH TIME ZONEタイプは、レコードおよび標識モードでCHARACTERデータとしてインポートおよびエクスポートされます。その際、ANSI形式文字列とサイト定義のクライアント文字セットが使用されます。

fractional_seconds_precisionの値 タイプ 形式
0 CHAR(25) 'yyyy-mm-dd hh:mi:ss-hh:mi'

または

'yyyy-mm-dd hh:mi:ss-hh:mi'

n

nは通常1~6

CHAR(26+n) 'yyyy-mm-dd hh:mi:ss.ss…-hh:mi'

または

'yyyy-mm-dd hh:mi:ss.ss…-hh:mi'

次の表は、レコードおよび標識モードでTIMESTAMP WITH TIME ZONEタイプをエクスポートする方法を示すものです。

fractional_seconds_precisionの値 長さ
6 32 '2000-01-01 11:37:58.123456+08:00'
0 25 '2000-01-01 11:37:58-08:00'

TIMESTAMP WITH TIME ZONEの形式

TIMESTAMP WITH TIME ZONE形式とその変更方法の詳細については、TIMEおよびTIMESTAMPの形式を参照してください。

TIMESTAMP WITH TIME ZONEの暗黙の変換と明示的な変換

割り当て中や比較中に、VantageはCHARACTERタイプからTIMESTAMP WITH TIME ZONEタイプへの暗黙の変換を実行します。この変換は、CHARおよびVARCHARタイプでのみサポートされます。CLOBまたはCHAR/VARCHAR CHARACTER SET GRAPHICの文字データ型をTIMESTAMP WITH TIME ZONE.に変換することはできません。

VantageがTIMESTAMP WITH TIME ZONEタイプからTIMEタイプおよびDATEタイプへの暗黙の変換を実行する場合もあります。ただし、TIMESTAMP WITH TIMEZONEからTIMEへの暗黙の変換は、比較ではサポートされていません。

CASTを使用することにより、明示的にCHARACTERタイプをTIMESTAMP WITH TIME ZONEタイプに変換したり、TIMESTAMP WITH TIME ZONEタイプからTIMEまたはDATEタイプに変換することができます。

詳細については、<Teradata Vantage™ - SQL関数、式、および述部、B035-1145>を参照してください。