TIME WITH TIME ZONEの内部表現
概念的には、TIME WITH TIME ZONEは5つの数値フィールドで構成されたレコードとして扱われます。
| フィールド名 | 最小値 | 最大値 | Storage Format |
|---|---|---|---|
| HOUR | 00 | 23 | BYTEINT |
| MINUTE | 00 | 59 | BYTEINT |
| SECOND | 00.000000 | 61.999999 この値は、時計に追加できるうるう秒を考慮に入れます。 |
DECIMAL(8,6) |
| TIMEZONE_HOUR | -12.59 | +14.00 | BYTEINT |
| TIMEZONE_MINUTE | BYTEINT |
レコードは数値フィールドで構成されていますが、数値として処理されません。
内部格納形式の長さは6バイトです。
TIME WITH TIME ZONEの外部表現
TIME WITH TIME ZONEタイプは、レコードおよび標識モードでCHARACTERデータとしてインポートおよびエクスポートされます。その際、ANSI形式文字列とサイト定義のクライアント文字セットが使用されます。
| fractional_seconds_precisionの値 | タイプ | 形式 |
|---|---|---|
| 0 | CHAR(14) | 'hh:mi:ss-hh:mi' または 'hh:mi:ss+hh:mi’ |
| n nは通常1~6 |
CHAR(15+n) | 'hh:mi:ss.ss…-hh:mi' または 'hh:mi:ss.ss…+hh:mi' |
次の表は、レコードおよび標識モードでTIME WITH TIME ZONEタイプをエクスポートする方法を示すものです。
| fractional_seconds_precisionの値 | 長さ | 例 |
|---|---|---|
| 6 | 21 | '11:37:58.123456+08:00' |
| 0 | 14 | '11:37:58-08:00' |
TIME WITH TIME ZONEの形式
TIME WITH TIME ZONE形式とその変更方法の詳細については、TIMEおよびTIMESTAMPの形式を参照してください。
TIME WITH TIME ZONEの暗黙の変換と明示的な変換
割り当てや比較中に、VantageはCHARACTERタイプからTIME WITH TIME ZONEタイプへの暗黙の変換を実行します。この変換は、CHARおよびVARCHARタイプでのみサポートされます。CLOBまたはCHAR/VARCHAR CHARACTER SET GRAPHICの文字データ型をTIME WITH TIME ZONE.に変換することはできません。
VantageがTIME WITH TIME ZONEタイプからTIMESTAMPタイプへの暗黙の変換を実行する場合もあります。ただし、TIME WITH TIMEZONEからTIMESTAMPへの暗黙の変換は、比較ではサポートされていません。
CASTを使用することにより、明示的にCHARACTERタイプをTIME WITH TIME ZONEタイプに変換したり、TIME WITH TIME ZONEタイプからTIMESTAMPタイプに変換することができます。
詳細については、<Teradata Vantage™ - SQL関数、式、および述部、B035-1145>を参照してください。