目的
2.226 x 10-308~1.797 x 10308の範囲の値を符号/絶対値の書式で表わします。
構文
- attributes
- 適切なデータ型属性、列記憶属性、または列制約属性。
ANSI準拠
REALおよびDOUBLE PRECISIONは、ANSI SQL:2011規格に含まれています。FLOATはREALおよびDOUBLE PRECISIONに関するTeradataの同義語です。
浮動小数点の格納と処理
浮動小数点値を収めるために、8バイトが使用されます。
浮動小数点の値は、内部的にはIEEEの浮動小数点の形式で格納され、処理されます。浮動小数点の値は、最下位のバイトを先にして、1ビットは仮数の符号用に、11ビットは指数用に、52ビットは仮数用に格納されます。仮数符号は最高位ビットの位置にあり、指数の符号は指数フィールドの一部になっています。これは、(1024-指数)によって符号が決まる1024加算表記です。
同じ絶対値の負数は、符号用のビットだけが正数と異なります。
Teradata Databaseは、クライアントの浮動小数点の正規化値をサポートしていますが、非正規化値はサポートしていません。
IEEE浮動小数点値の範囲は、クライアント システムがサポートしている範囲よりも広い場合があります。したがって、Teradata Databaseで作成して格納した値を、クライアント システムへの送信用に変換しようとすると、エラー メッセージが返されることもあります。
FLOAT/REAL/DOUBLE PRECISIONの外部表現
以下のテーブルは、TeradataのFLOAT/REAL/DOUBLE PRECISIONデータ型のクライアント表現を示したものです。
アプリケーション定義とクライアント データ型を判別するのは、アプリケーション プログラマの責任です。
クライアントCPUアーキテクチャ | クライアント表記 |
---|---|
IBMメインフレーム | 8バイト、64ビット(倍精度)の浮動小数点数(最上位バイトが最初)。以下の属性があります。
|
UTS | 8バイト、64ビット(倍精度)の浮動小数点数(最上位バイトが最初)。以下の属性があります。
|
|
8バイト、64ビット(倍精度)の浮動小数点数(最上位バイトが最初)。以下の属性があります。
|
Intel | 8バイト、64ビット(倍精度)の浮動小数点数(最下位バイトが最初)。以下の属性があります。
|
例: FLOATデータ型
次に示すテーブル定義では、SalaryFactor列はFLOATデータ型です。
CREATE TABLE Salaries (Id CHAR(9) ,SalaryFactor FLOAT BETWEEN .1 AND 1E1 );
関連トピック
詳細情報 | 参照先 |
---|---|
比較と計算における小数点値に関する潜在的な問題 | 浮動小数点値に対する演算 |
四捨五入とFLOAT/REAL/DOUBLE PRECISIONタイプ | 切り上げ/切り捨て |