使用上の注意 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/tpf1598412463935.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

INTERVAL DAY TO SECONDの内部表現

概念的にはINTERVAL DAY TO SECONDは、以下のフィールドから成るレコードです。

フィールド名 Storage Format 全長
DAY SMALLINT 10バイト
HOUR SMALLINT
MINUTE SMALLINT
SECOND INTEGER

INTERVAL DAY TO SECONDの外部表現

INTERVAL DAY TO SECONDタイプは、レコードおよび標識モードでCHARACTERデータとしてインポートおよびエクスポートされます。その際、クライアント文字セットが使用されます。

fractional_seconds_precisionの値 タイプと形式
0 タイプ: CHARACTER(precision + 10)
形式: '-d(precision) hh:mm:ss'
n

nは通常1~6

タイプ: CHARACTER(precision + n + 11)
形式: '-d(precision) hh:mm:ss.s(n)'

例えば、INTERVAL DAY (4) TO SECOND(3)の場合、値は'   125 12:27:31.125 'などとなります。

DAYフィールドには、2つの先行ブランク文字が付いています。最初のブランクは符号用であり、正の数の間隔の場合はありません。2番目のブランクは、DAYフィールドの固定サイズを4桁に保つためのものです。

値の範囲

INTERVAL DAY TO SECONDの値の範囲は、以下のとおりです。

タイプ、精度、および秒小数部の精度 最小値 最大値
INTERVAL DAY(1) TO SECOND(0) -'9 23:59:59' '9 23:59:59'
INTERVAL DAY(1) TO SECOND(1) -'9 23:59:59.9' '9 23:59:59.9'
INTERVAL DAY(1) TO SECOND(2) -'9 23:59:59.99' '9 23:59:59.99'
INTERVAL DAY(1) TO SECOND(3) -'9 23:59:59.999' '9 23:59:59.999'
INTERVAL DAY(1) TO SECOND(4) -'9 23:59:59.9999' '9 23:59:59.9999'
INTERVAL DAY(1) TO SECOND(5) -'9 23:59:59.99999' '9 23:59:59.99999'
INTERVAL DAY(1) TO SECOND(6) -'9 23:59:59.999999' '9 23:59:59.999999'
INTERVAL DAY(2) TO SECOND(0) -'99 23:59:59' '99 23:59:59'
INTERVAL DAY(2) TO SECOND(1) -'99 23:59:59.9' '99 23:59:59.9'
INTERVAL DAY(2) TO SECOND(2) -'99 23:59:59.99' '99 23:59:59.99'
INTERVAL DAY(2) TO SECOND(3) -'99 23:59:59.999' '99 23:59:59.999'
INTERVAL DAY(2) TO SECOND(4) -'99 23:59:59.9999' '99 23:59:59.9999'
INTERVAL DAY(2) TO SECOND(5) -'99 23:59:59.99999' '99 23:59:59.99999'
INTERVAL DAY(2) TO SECOND(6) -'99 23:59:59.999999' '99 23:59:59.999999'
INTERVAL DAY(3) TO SECOND(0) -'999 23:59:59' '999 23:59:59'
INTERVAL DAY(3) TO SECOND(1) -'999 23:59:59.9' '999 23:59:59.9'
INTERVAL DAY(3) TO SECOND(2) -'999 23:59:59.99' '999 23:59:59.99'
INTERVAL DAY(3) TO SECOND(3) -'999 23:59:59.999' '999 23:59:59.999'
INTERVAL DAY(3) TO SECOND(4) -'999 23:59:59.9999' '999 23:59:59.9999'
INTERVAL DAY(3) TO SECOND(5) -'999 23:59:59.99999' '999 23:59:59.99999'
INTERVAL DAY(3) TO SECOND(6) -'999 23:59:59.999999' '999 23:59:59.999999'
INTERVAL DAY(4) TO SECOND(0) -'9999 23:59:59' '9999 23:59:59'
INTERVAL DAY(4) TO SECOND(1) -'9999 23:59:59.9' '9999 23:59:59.9'
INTERVAL DAY(4) TO SECOND(2) -'9999 23:59:59.99' '9999 23:59:59.99'
INTERVAL DAY(4) TO SECOND(3) -'9999 23:59:59.999' '9999 23:59:59.999'
INTERVAL DAY(4) TO SECOND(4) -'9999 23:59:59.9999' '9999 23:59:59.9999'
INTERVAL DAY(4) TO SECOND(5) -'9999 23:59:59.99999' '9999 23:59:59.99999'
INTERVAL DAY(4) TO SECOND(6) -'9999 23:59:59.999999' '9999 23:59:59.999999'

INTERVAL DAY TO SECONDの暗黙の変換と明示的な変換

Vantageがある間隔データ型から他の間隔タイプへの暗黙の変換を実行する場合もあります。CASTを使用することにより、ある間隔タイプを他の間隔タイプに明示的に変換することもできます。

変換は同じINTERVALファミリーの範囲内でのみ可能です。例えば、YEARの間隔(INTERVAL)を月には変換できますが、日付や時刻には変換できません。

詳細については、<Teradata Vantage™ - SQL関数、式、および述部、B035-1145>を参照してください。