PERIOD(TIME WITH TIME ZONE)データ型 - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xnq1529717274657.ditamap
dita:ditavalPath
ja-JP/xnq1529717274657.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

目的

2つの関連付けられた日付/時刻構成要素があるデータ型。

日付/時刻の構成要素 指定内容
beginning 期間の開始境界。
ending 期間の終了境界。

開始境界は包括的で、終了境界は排他的です。つまり、日付/時刻の範囲は開始境界から始まりますが、終了境界は含みません。

PERIOD(TIME[(n)] WITH TIME ZONE)列は、現在、TIME WITH TIME ZONE列のためにある方法と同じ方法で、UTC形式で開始境界と終了境界を記録します。

構文



fractional_seconds_precision
SECONDフィールドの小数部の有効桁数を表わす1桁の数字。
fractional_seconds_precisionの値は、0~6の範囲になります。
デフォルトの精度は6です。
attributes
適切なデータ型、列記憶、または列制約属性。具体的な説明については、主なデータ型属性および記憶属性と制約属性を参照してください。
次のデータ型属性は、PERIOD(TIME WITH TIME ZONE)列でサポートされます。
  • NULLおよびNOT NULL
  • FORMAT '形式文字列'
  • TITLE
  • NAMED
  • DEFAULT NULL
  • デフォルト値
これらのデータ型の属性の詳細については、デフォルト値の制御句およびデータ型の形式および形式句を参照してください。
次のデータ型属性は、PERIOD(TIME WITH TIME ZONE)列ではサポートされません。
  • DEFAULT USER
  • DEFAULT DATE
  • DEFAULT TIME
  • DEFAULT CURRENT_DATE
  • DEFAULT CURRENT_TIME[(n)]
  • DEFAULT CURRENT_TIMESTAMP[(n)]
  • UPPERCASEまたはUC
  • CASESPECIFICまたはCS
  • CHARACTER SET
  • WITH DEFAULT

ANSI準拠

PERIODタイプは、ANSI SQL:2011規格に対するTeradataの拡張機能です。

ストレージ

PERIOD(TIME[(n)] WITH TIME ZONE)は固定長のデータ型であり、2つのTIME WITH TIME ZONE値として保存されます。

要素型 フィールド サイズ(バイト) 行の最大サイズ(バイト)
TIME(n) WITH TIME ZONE 16 16

PERIOD(TIME WITH TIME ZONE)の外部表現

フィールド モードでは、Teradata DatabaseはPERIOD(TIME WITH TIME ZONE)データを文字データとして戻します。

LはこのPERIODデータ型と関連付けられたフォーマット用にフォーマットされた文字列の最大長と仮定します。 結果の文字列は、期間値の式の開始境界と終了境界を表わす2つの文字列を含みます。それぞれの最大長はLであり、それぞれが単一引用符(')で囲まれ、カンマとスペース(, )で区切られ、左右の括弧[( )]で囲まれます。 したがって、結果の文字列の最大長は2*L+8になります。

フィールド モード以外のモード(および入力データ)に対するPERIOD(TIME WITH TIME ZONE)の外部表現は、2つの連続した時刻とタイムゾーンの値から構成されています。各時刻値は後述するように複数のフィールドから構成され、指定された順序で返されます。
  • 秒: 4バイトの、クライアント形式に変換された符号付き整数。この整数は、位取りされた10進数で秒数を表わします(例えば、12.56秒は12560000として返されます)。
  • 時:1バイトの符号なし整数。このバイトは時間数を表わします。
  • 分:1バイトの符号なし整数。このバイトは分の数を表わします。
  • タイムゾーン時:1バイトの符号なし整数。このバイトはタイムゾーン変位の時間部分と、変位の正負を表わします。値16は0時を表わします。16未満の値は、指定された時間のタイムゾーン変位が負であることを表わします。つまり、この値が10の場合、タイムゾーンは-10時間で変位します。16より大きい場合は、時間の正のタイムゾーン変位(タイムゾーン時 - 16)を指定します。つまり、値20は+4時間の変位を意味します。
  • タイムゾーン分:1バイトの符号なし整数。このバイトは、タイムゾーン変位の分の部分を表わします。

制限

プライマリ インデックス列またはパーティション列を、PERIODデータ型を含む列にすることはできません。

例: PERIOD(TIME WITH TIME ZONE)データ型

次のCREATE TABLE文では、精度6をデフォルトにしているので、PERIOD(TIME(6) WITH TIME ZONE)列を定義します。

CREATE TABLE t8
(
      job_id        INTEGER,
      job_desc      CHARACTER(15),
      job_status    CHARACTER(1),
      job_hours     PERIOD(TIME WITH TIME ZONE));

関連トピック

PERIODタイプに適用できる関数と演算子の詳細について、<Teradata Vantage™ SQL関数、式、および述部、B035-1145>を参照してください。