INTERVAL SECONDデータ型 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/zsn1556242031050.ditamap
dita:ditavalPath
ja-JP/zsn1556242031050.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

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

構文

INTERVAL SECOND [ ( precision [, fractional_seconds_precision ] ) ]
  [ attributes [...] ]
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);