Interval データ型

システムは、非標準のインターバル・データ型を使用することで、インターバルのアンロードとロードをサポートする。

構文
[ [ '-' ] <digit>+ ' '*	'y'['e'['a'['r'['s']]]] ' '* ]
[ [ '-' ] <digit>+ ' '*	'm'['o'['n'['t'['h'['s']]]]] ' '* ]
[ [ '-' ] <digit>+ ' '*	'd'['a'['y'['s']]] ' '* ]
[ [ '-' ] <time> ]
説明
  • オプションの要素は、大括弧で囲みます。
  • リテラル文字は、単一引用符で囲みます。
  • * は、ゼロ個以上を示します。
  • + は、1 個以上を示します。
  • <digt>はi10進数0~9のいずれかのインスタンス。
  • <tie>はmローダーの時間構文のインスタンスである。
制限
  • 年の最大値は、0x7fffffff または 12 (10 進数 178956970) です。
  • 月の最大値は、0x7fffffff (10 進数 2147483647) です。
  • 日の最大値は 0x7fffffffffffffff または (1000000 x 60 x 60 x 24) (10 進数 106751991) です。
  • 時間の最大値は 0x7fffffffffffffff または (1000000 x 60 x 60) (10 進数 2562047788) です。
  • 分の最大値は 10 進数 60 です。
  • 秒の最大値は 10 進数 60 です。

Netezza Performance Serverのアンロード間隔フォーマットには次の動作があります:

  • 列の時間間隔の単位指定を受け入れます。ただし、内部的には無視します。 以下に例を示します。
    create external table tablename (colA interval year to month, colB interval hour)
  • 時間間隔はすべて同じです。任意の組み合わせの単位の値を格納できます。
  • 有効な単位は、year、month、day、hour、minute、および second (小文字) です。単数形でも複数形でもかまいません。 例:
    2 year 3 month 4 day
    2 years 3 months 4 days
  • 時間間隔単位 hour、minute、および second を除き、すべてのリテラル値には単位が含まれます。 以下に例を示します。
    1 year 1 month 1 day
  • 単位の hour、minute、second の時間間隔は従来の 10 進数の時間形式であり、24HOUR スタイルです。 例:
    01:01:01
    01:01:01.1
  • すべてのリテラルは、正の値も負の値も取ることができます。 例:
    -1 year
    1 year
    01:01:01
    -01:01:01  
  • 時間間隔ストリング・フィールドには、0 個以上の先頭スペースと末尾スペースを含めることができます。 以下は、先頭スペースまたは末尾スペースを含む有効な値の例です (分かりやすく、フィールド区切り文字で区切って示しています)。
    |1 year 1 day|
    |     2 years 2 months    |
    |3 days 03:03:03.333|