TIMESTAMPの内部表現
概念的には、TIMESTAMPはグレゴリオ暦で正しく定義された6つのフィールドで構成されたレコードとして扱われます。
| フィールド名 | 最小値 | 最大値 | 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 |
レコードは数値フィールドで構成されていますが、数値として処理されません。
内部格納形式の長さは10バイトです。
TIMESTAMPの外部表現
TIMESTAMPタイプは、レコードおよび標識モードでCHARACTERデータとしてインポートおよびエクスポートされます。その際、ANSI形式文字列とサイト定義のクライアント文字セットが使用されます。
| fractional_seconds_precisionの値 | タイプ | 形式 |
|---|---|---|
| 0 | CHAR(19) | 'yyyy-mm-dd hh:mi:ss' |
| n nは通常1~6 |
CHAR(20+n) | 'yyyy-mm-dd hh:mi:ss.ss…' |
次の表は、レコードおよび標識モードでTIMESTAMPタイプをエクスポートする方法を示すものです。
| fractional_seconds_precisionの値 | 長さ | 例 |
|---|---|---|
| 6 | 26 | '1999-01-01 23:59:59.999999' |
| 0 | 19 | '1999-01-01 23:59:59' |
TIMESTAMPの形式
TIMESTAMPの形式と形式の変更方法の詳細については、TIMEおよびTIMESTAMPの形式を参照してください。
TIMESTAMPの暗黙の変換と明示的な変換
割り当てや比較中に、VantageはCHARACTERタイプからTIMESTAMPタイプへの暗黙の変換を実行します。この変換は、CHARおよびVARCHARタイプでのみサポートされます。CLOBまたはCHAR/VARCHAR CHARACTER SET GRAPHICの文字データ型をTIMESTAMPに変換することはできません。
VantageはTIMESTAMPタイプからDATEタイプおよびTIMEタイプへの暗黙の変換も実行します。ただし、TIMESTAMPからTIMEへの暗黙の変換は、比較ではサポートされていません。
CASTを使用することにより、明示的にCHARACTERタイプをTIMESTAMPタイプに変換したり、TIMESTAMPタイプからDATEまたはTIMEタイプに変換することができます。
詳細については、<Teradata Vantage™ - SQL関数、式、および述部、B035-1145>を参照してください。