秒数で期間を定義する間隔値としてフィールドを識別します。
構文
INTERVAL SECOND [ ( precision [, fractional_seconds_precision ] ) ] [ attributes [...] ]
- precision
- SECONDに指定できる桁数の範囲。1~4。
- fractional_seconds_precision
- SECONDの値の小数点以下の桁数(0~6)。
- attributes
- 適切なデータ型、列記憶、または列制約属性。
ANSI準拠
INTERVAL SECONDは、ANSI SQL:2011に準拠しています。
INTERVAL SECONDの内部表現
概念的にはINTERVAL SECONDの内部表現は、以下のフィールドから成ります。
フィールド名 | 格納形式 | 全長 |
---|---|---|
WHOLE SECONDS | SMALLINT | 6バイト |
FRACTIONAL SECONDS | INTEGER |
INTERVAL SECONDの外部表現
INTERVAL SECONDタイプは、レコードおよび標識モードでCHARACTERデータとしてインポートおよびエクスポートされます。その際、クライアント文字セットが使用されます。
fractional_seconds_precisionの値 | 型と形式 |
---|---|
0 | タイプ: CHARACTER(precision + 1) |
形式: '-s(precision)' | |
n nは通常1~6 |
タイプ: CHARACTER(precision + n + 2) |
形式: '-s(precision).s(n)' |
例えば、INTERVAL SECOND(3,2)の場合、値は'-127.35'のようになります。
値の範囲
INTERVAL SECONDの値の範囲は、以下のとおりです。
タイプ、精度、および秒小数部の精度 | 最小値 | 最大値 |
---|---|---|
INTERVAL SECOND(1,0) | -'9' | '9' |
INTERVAL SECOND(1,1) | -'9.9' | '9.9' |
INTERVAL SECOND(1,2) | -'9.99' | '9.99' |
INTERVAL SECOND(1,3) | -'9.999' | '9.999' |
INTERVAL SECOND(1,4) | -'9.9999' | '9.9999' |
INTERVAL SECOND(1,5) | -'9.99999' | '9.99999' |
INTERVAL SECOND(1,6) | -'9.999999' | '9.999999' |
INTERVAL SECOND(2,0) | -'99' | '99' |
INTERVAL SECOND(2,1) | -'99.9' | '99.9' |
INTERVAL SECOND(2,2) | -'99.99' | '99.99' |
INTERVAL SECOND(2,3) | -'99.999' | '99.999' |
INTERVAL SECOND(2,4) | -'99.9999' | '99.9999' |
INTERVAL SECOND(2,5) | -'99.99999' | '99.99999' |
INTERVAL SECOND(2,6) | -'99.999999' | '99.999999' |
INTERVAL SECOND(3,0) | -'999' | '999' |
INTERVAL SECOND(3,1) | -'999.9' | '999.9' |
INTERVAL SECOND(3,2) | -'999.99' | '999.99' |
INTERVAL SECOND(3,3) | -'999.999' | '999.999' |
INTERVAL SECOND(3,4) | -'999.9999' | '999.9999' |
INTERVAL SECOND(3,5) | -'999.99999' | '999.99999' |
INTERVAL SECOND(3,6) | -'999.999999' | '999.999999' |
INTERVAL SECOND(4,0) | -'9999' | '9999' |
INTERVAL SECOND(4,1) | -'9999.9' | '9999.9' |
INTERVAL SECOND(4,2) | -'9999.99' | '9999.99' |
INTERVAL SECOND(4,3) | -'9999.999' | '9999.999' |
INTERVAL SECOND(4,4) | -'9999.9999' | '9999.9999' |
INTERVAL SECOND(4,5) | -'9999.99999' | '9999.99999' |
INTERVAL SECOND(4,6) | -'9999.999999' | '9999.999999' |
INTERVAL SECONDの暗黙の変換と明示的な変換
Teradata Databaseがある間隔データ型から他の間隔タイプへの暗黙の変換を実行する場合もあります。CASTを使用することにより、ある間隔タイプを他の間隔タイプに明示的に変換することもできます。
変換は同じINTERVALファミリーの範囲内でのみ可能です。例えば、YEARの間隔(INTERVAL)を月には変換できますが、日付や時刻には変換できません。
詳細については、<Teradata Vantage™ - SQL関数、式、および述部、B035-1145>の「データ型の変換」を参照してください。
例: INTERVAL SECONDデータ型
以下の文は、INTERVAL SECOND列を備えたテーブルを作成します。
CREATE TABLE TimeInfo (Id INTEGER ,Offset INTERVAL SECOND (2,3)); INSERT TimeInfo (1001, INTERVAL -'15.244' SECOND);