16.20 - INTERVAL SECONDデータ型 - Teradata Vantage NewSQL Engine

Teradata Vantage™ データ タイプおよびリテラル

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN

目的

秒数で期間を定義する間隔値としてフィールドを識別します。

構文



precision
SECONDに指定できる桁数の範囲。1~4。
デフォルトは2です。
fractional_seconds_precision
SECONDの値の小数点以下の桁数(0~6)。
デフォルトは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);