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