プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.2.0)
E82973-02
目次へ移動
目次

前
前へ
次
次へ

Oracle BI EEデータ型の制限事項

この表は、サポートされているデータ型およびその制限事項を示しています。

管理者またはリポジトリ作成者は、この情報を使用して特定のデータ型が特定の列または値セットに適しているかどうかを評価したり、データ型が必要な値をすべて表すことができるかどうかを判断できます。

たとえば、OracleデータベースのINTEGER列では、非常に広範囲の値(10進数で最大38桁まで)がサポートされていますが、Oracle BI EEINTEGERデータ型は32ビットのバイナリ整数型であるため、データ・オーバーフロー(切捨て)問題を発生させずに最大9桁まで保持できます。列で[-2,147,483,648, 2,147,483,647]の範囲の値を保持する場合、Oracle BI EEINTEGERデータ型を使用する必要があります。しかし、この列にこの範囲を超える値が格納される場合は、NUMERICVARCHARなどの別のデータ型を使用する必要があります。

列の予期される値の範囲を表すことができる最小(バイト数)のデータ型を選択します。このようにデータ型を選択すると、キャッシュ・ファイルや一時ファイルなどについてOracle BIサーバーで消費されるメモリー容量およびディスク領域量が減ります。

データ型 制約

BIG INT

JDBCおよびOracle BI管理ツールではこの型がサポートされていません。したがって、Oracle BI EEではBIG INT型が完全サポートされていません。BIG INT型は、C言語のint64データ型と同じになるよう意図されています。

BINARY

Oracle BI EEでは、BINARY型が完全サポートされていません。Oracle BI EEでは、データ型がBINARYの列のフェッチのみサポートされています。BIサーバーでは、bindパラメータまたはinsert文でBINARY型がサポートされていません。

BIT

Oracle BI EEでは、BIT型が完全サポートされていません。ブール・データを表すには、かわりにINT型またはCHAR型を使用する必要があります。

CHAR

CHAR型の値は常に、データ型で指定された長さと等しくなるように後ろに空白文字が埋め込まれます。CHAR型では、Unicode値がサポートされます。Windowsプラットフォームでは、ストレージは文字ごとに2バイトです。すべてのUNIX 64ビット・プラットフォームでは、ストレージは文字ごとに4バイトです。

DATE

DATE型は、年、月および日の構成要素のみを表します。Oracle DATEデータ型のように、時間、分または秒を表しません。

DECIMAL

DECIMAL型は、NUMERIC型と同じです。

DOUBLE

DOUBLE型は、IEEE 754 64ビット倍精度バイナリ浮動小数点データ型と同じです。内部ストレージは8バイトです。仮数は53ビットを占有します(符号ビットを含む)。そのため、精度は10進数で約16桁に制限されます。指数は11ビットを占有します。指数の範囲は、10進数値として約±307です。

「浮動小数点の制限事項」を参照してください。

INTEGER

INTEGER型は、符号付きバイナリ整数データ型で、4バイトを占有します。表現可能な最大値は2,147,483,647、最小値は-2,147,483,648です。

FLOAT

FLOAT型は、IEEE 754 32ビット単精度バイナリ浮動小数点データ型と同じです。内部ストレージは4バイトです。仮数は24ビットを占有します(符号ビットを含む)。そのため、精度は10進数で約7桁に制限されます。指数は8ビットを占有します。指数の範囲は、10進数値として約±38です。

「浮動小数点の制限事項」を参照してください。

LONGVARBINARY

LONGVARBINARY型では、最大32,678バイトまでサポートされます。

LONGVARCHAR

LONGVARCHAR型では、最大32,678バイトまでサポートされます。LONGVARCHAR型とVARCHAR型の両方で、Unicode値がサポートされます。

NUMERIC

NUMERIC型は、真の10進データ型で22バイトを占有します。内部表現と制限事項は、Oracle NUMBERデータ型と同じです。

NUMERIC型では、1 x 10^-130から9.999...9 x 10^125までの範囲で、最大38有効桁の正数がサポートされます。精度とスケールは、リポジトリに格納されません。スケールは、10と想定されます。

REAL

REAL型の説明と制限事項はFLOAT型と同じです。

SMALLINT

SMALLINT型は、 BIサーバーではINTEGER型として内部的に表され、INTEGERデータ型と同じ制限事項があります。

TIME

TIME型は、時間、分および秒の構成要素のみを表します。

TIMESTAMP

TIMESTAMP型は、年、月、日、時間、分および秒の構成要素を表します。プラットフォームのデータ・ソースによっては、小数秒もサポートできます。

TINYINT

TINYINT型は、BIサーバーではINTEGERとして内部的に表されます。TINYINT型とINTEGER型の制限事項は同じです。

VARBINARY

VARBINARY型は、LONGVARBINARY型のかわりに使用できます。VARBINARY型とLONGVARBINARY型の制限事項は同じです。

VARCHAR

VARCHAR型は、LONGVARCHAR型のかわりに使用できます。VARCHAR型とLONGCARCHAR型の制限事項は同じです。

Oracle BI管理ツールを使用すると、最大文字長2,147,483,647を入力できます。ただし、実際にサポートされている最大長は32,678です。

浮動小数点の制限事項

数値には、FLOATやDOUBLEなどのバイナリ浮動小数点データ型では正確に表せないものがあります。

10進数からバイナリ浮動小数点表現への変換またはその逆の変換の場合、バイナリ浮動小数点形式の表現上の制限事項のために端数処理エラーが発生することがよくあります。たとえば、1.365などの10進数をDOUBLE型に変換する場合、1.364999999999999と表されます。この数値は、小数点以下3桁に端数処理され、結果は1.365です。しかし、この数値を小数点以下2桁に端数処理すると、結果は1.36であり、1.37ではありません。

Oracle BIサーバーでは、RDBMSおよびTimesTenのデータ・ソースに対してNUMERIC型がサポートされています。FLOAT型およびDOUBLE型の制限事項を回避するには、FLOATおよびDOUBLEのデータ型をNUMERIC型に更新することをお薦めします。NUMERICデータ型への切替え以外に、バイナリ浮動小数点データ型でこの潜在的制限事項を修正する回避策はありません。