ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース7.0
E05176-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

データ型の仕様

TimesTenでは、デフォルトのOracle型モードで次のデータ型がサポートされています。型モードはデータ・ストア作成の属性です。TypeMode = 0はOracle型モード、TypeMode = 1はTimesTenモードを示します。

型モードの詳細は、『Oracle TimesTen In-Memory Database APIリファレンス・ガイド』のTypeModeに関する項を参照してください。

データ型 
説明

CHAR[ACTER] [(n [BYTE|CHAR])]

長さがnバイトまたはn文字の固定長文字列。デフォルトは1バイトです。

BYTEは、列にバイト長セマンティクスが使用されていることを示します。nに指定できる値は、1バイト以上8300バイト以下です。

CHARは、列に文字長セマンティクスが使用されていることを示します。CHARの最小長は1文字です。最大長は8300バイトに収まる文字数によって異なります。これは使用されているデータベース・キャラクタ・セットによって決まります。キャラクタ・セットがAL32UTF8の場合、1文字あたり最大4バイトが必要になる可能性があるため、CHARの長さは、キャラクタ・セットに応じて2075から8300の範囲に制限されます。

長さが0(ゼロ)の文字列は、NULLとして解釈されます。

CHARデータは、後続の空白を使用してその列の最大長まで調整されます。空白埋め比較セマンティクスが使用されます。

かわりに、ORA_CHAR [(n [BYTE|CHAR])]を指定することもできます。

NCHAR[(n)]

長さがn×2バイトのUnicode文字の固定文字列です。

必要なバイト数は2×nです。nは、指定された文字数です。Ncharの文字の制限はバイトの制限の2分の1であるため、最大サイズは4150です。記憶域のデフォルト最小バイト数は2n(2)です。

長さが0(ゼロ)の文字列は、NULLとして解釈されます。

NCHARデータは、U+0020 SPACEを使用してその列の最大長まで調整されます。空白埋め比較セマンティクスが使用されます。

かわりに、ORA_NCHAR [(n)]を指定することもできます。

VARCHAR[2] (n [BYTE|CHAR])

最大長がnバイトまたはn文字の可変長文字列。

BYTEは、列にバイト長セマンティクスが使用されていることを示します。nに指定できる値は、1バイト以上4194304(222)バイト以下です。nを指定する必要があります。

CHARは、列に文字長セマンティクスが使用されていることを示します。

長さが0(ゼロ)の文字列は、NULLとして解釈されます。

非空白埋め比較セマンティクスが使用されます。

VARCHAR型は使用しないでください。VARCHAR型は現在VARCHAR2と同じ意味で使用されていますが、再定義される予定です。

かわりに、ORA_VARCHAR2 (n [BYTE|CHAR])を指定することもできます。

NVARCHAR2(n)

n×2バイトのUnicode文字の可変長文字列です。

必要なバイト数は2×nです。nは、指定された文字数です。NVARCHAR2の文字の制限はバイトの制限の2分の1であるため、最大サイズは2,097,152(221)です。nを指定する必要があります。

長さが0(ゼロ)の文字列は、NULLとして解釈されます。

非空白埋め比較セマンティクスが使用されます。

かわりに、ORA_NVARCHAR2(n)を指定することもできます。

TT_TINYINT

0から255(28-1)の範囲の符号なし整数。

NUMBERデータ型ではなくTT_TINYINTを使用します。TT_TINYINTは、NUMBER型より小さいサイズで、高速なパフォーマンスを提供します。19桁より大きい整数を格納する必要がある場合は、NUMBER (p)(p > 19)を使用します。

TT_TINYINTは符号なしのため、TT_TINYINTを否定するデータ型はTT_SMALLINTになります。

TT_SMALLINT

-32,768(-215)から32,767(215-1)の範囲のネイティブの符号付き16ビット整数。

SMALLINTではなくTT_SMALLINTを使用します。SMALLINTはNUMBERデータ型にマップされます。

TT_SMALLINTは、NUMBER型より小さいサイズで、高速なパフォーマンスを提供します。19桁より大きい整数を格納する必要がある場合は、NUMBER (p)(p > 19)を使用します。

TT_INT[EGER]

-2,147,483,648(-231)から2,147,483,647(231-1)の範囲の符号付き整数。

TT_INTEGERはネイティブの符号付き整数データ型です。INTEGERではなくTT_INTEGERを使用します。INTEGERはNUMBERデータ型にマップされます。TT_INTEGERは、NUMBER型より小さいサイズで、高速なパフォーマンスを提供します。19桁より大きい整数を格納する必要がある場合は、NUMBER (p)(p > 19)を使用します。

TT_BIGINT

-9,223,372,036,854,775,808(-263)から9,223,372,036,854,775,807(263 - 1)の範囲の符号付き8バイト整数。

NUMBERデータ型ではなくTT_BIGINTを使用します。TT_BIGINTは、NUMBER型より小さいサイズで、高速なパフォーマンスを提供します。19桁より大きい整数を格納する必要がある場合は、NUMBER (p)(p > 19)を使用します。

NUMBER [(precision [,scale])]

精度とスケールが指定された数値。精度の範囲は1から38桁です。スケールの範囲は-84から127です。精度とスケールの両方ともオプションです。

精度およびスケールを指定しない場合は、最大精度の38および柔軟なスケールが指定されたとみなされます。

NUMBERは、精度より大きいスケールおよび負のスケールをサポートしています。

NUMBERは、1.0 x 10-130から1.0 x 10126未満の絶対値を含む正と負の固定数値および0(ゼロ)を格納します。値が1.0 x 10126以上の絶対値である算術式を指定すると、エラーが戻されます。

BINARY_FLOAT

32ビットの浮動小数点数。BINARY_FLOATは単精度のネイティブの浮動小数点型です。+Inf、-InfおよびNaNの各値をサポートしています。BINARY_FLOATは指数と小数部からなる近似値です。指数またはE表記法を使用できます。BINARY_FLOATにはバイナリ精度24が指定されています。

正の最小有限値:

1.17549E-38F

正の最大有限値: 3.40282E+38F

BINARY_DOUBLE

64ビットの浮動小数点数。BINARY_DOUBLEは倍精度のネイティブの浮動小数点数です。+Inf、-InfおよびNanの各値をサポートしています。BINARY_DOUBLEは指数と小数部からなる近似値です。指数またはE表記法を使用できます。BINARY_DOUBLEにはバイナリ精度53が指定されています。

正の最小有限値: 2.22507485850720E-308

正の最大有限値: 1.79769313486231E+308

BINARY (n)

nバイトの固定長バイナリの値。nの範囲は1から8300です。

BINARYデータは、後続の0(ゼロ)を使用してその列の最大長まで調整されます。

かわりに、TT_BINARY (n)を指定することもできます。

VARBINARY (n)

最大長がnバイトの可変長バイナリの値。nに指定できる値は1から4194304(222)です。

かわりに、TT_VARBINARY(n)を指定することもできます。

TIME

00:00:00(午前0時)から23:59:59(午後11時59分59秒)の間の時刻。書式はHH:MI:SSです。記憶域サイズは8バイトです。

かわりに、TT_TIMEを指定することもできます。

TT_DATE

日付情報(世紀、年、月、日)を格納します。書式はYYYY-MM-DDです。MMは整数で表します。

たとえば、2006-10-28です。記憶域サイズは4バイトです。

有効な日付は、1753-01-01(1753年1月1日)から9999-12-31(9999年12月31日)の間の日付です。

DATE

日付と時刻の情報(世紀、年、月、日、時、分、秒)を格納します。

書式はYYYY-MM-DD HHMMSSです。

有効な日付の範囲は紀元前4712年1月1日から西暦9999年12月31日です。

記憶域サイズは7バイトです。小数秒はありません。

かわりに、ORA_DATEを指定することもできます。

TT_TIMESTAMP

1753-01-01 00:00:00(1753年1月1日の午前0時)から9999-12-31 23:59:59(9999年12月31日の午後11時59分59秒)の間の日付と時刻。マイクロ秒に満たない端数は、「Data Truncated」エラーになります。書式はYYYY-MM-DD HH:MI:SS [.FFFFFF]です。

記憶域サイズは8バイトです。

TT_TIMESTAMPの記憶域サイズはTIMESTAMPより小さく、TT_TIMESTAMPの処理速度はTIMESTAMPより速くなります。これは、TT_TIMESTAMPが1754年1月1日以降のマイクロ秒数を含む8バイトの整数であるためです。比較が非常に速くなります。TIMESTAMPでは紀元前4712年以降の日時データを格納できるため、TIMESTAMPの範囲はTT_TIMESTAMPより大きくなります。また、TIMESTAMPでは最大9桁の小数秒の精度がサポートされ、TT_TIMESTAMPでは6桁の小数秒の精度がサポートされています。

TT_TIMESTAMP (6)を指定できます。

TIMESTAMP
[(fractional_seconds_precision)]

日付データ型の年、月および日の値に加えて、時、分および秒の時間の値を格納します。Fractional_seconds_precisionは、秒のフィールドの小数部の桁数です。有効な日付の範囲は紀元前4712年1月1日から9999年12月31日です。

TT_TIMESTAMPの記憶域サイズはTIMESTAMPより小さく、TT_TIMESTAMPの処理速度はTIMESTAMPより速くなります。これは、TT_TIMESTAMPが1754年1月1日以降のマイクロ秒数を含む8バイトの整数であるためです。比較が非常に速くなります。TIMESTAMPでは紀元前4712年以降の日時データを格納できるため、TIMESTAMPの範囲はTT_TIMESTAMPより大きくなります。また、TIMESTAMPでは最大9桁の小数秒の精度がサポートされ、TT_TIMESTAMPでは6桁の小数秒の精度がサポートされています。

小数秒の精度の範囲は0(ゼロ)から9です。デフォルトは6です。書式は次のとおりです。

YYYY-MM-DD HH:MI:SS [.FFFFFFFFF]

記憶域サイズは12バイトです。

かわりに、ORA_TIMESTAMP [(fractional_seconds_precision)]を指定することもできます。

INTERVAL [+/-] IntervalQualifier

TimesTenはINTERVAL型を部分的にサポートします。INTERVAL型は、型INTERVALとIntervalQualifierで表現されます。IntervalQualifierには、精度を持たない単一のフィールド型のみを指定できます。デフォルトの先行精度は、すべてのINTERVAL型で8桁です。単一のフィールド型は、YEAR、MONTH、DAY、HOUR、MINUTE、SECONDのいずれかです。現在、INTERVAL型は定数でのみ指定できます。