Oracle 10g の FLOAT データ型とは何ですか? また、NUMBER とどのように関係していますか?
Oracle のドキュメントで FLOAT を参照できる唯一の参照は、このページの BINARY_DOUBLE セクションにあります。浮動小数点数を格納し、精度のビットを指定できるようにしますが、NUMBER 型を参照しません。11g のドキュメントでは、FLOAT についてまったく言及されていません。
本「Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions, Second Edition」には、次のように書かれています。
NUMBER、BINARY_FLOAT、および BINARY_DOUBLE 型に加えて、Oracle は次の数値データ型を構文的にサポートします。
「構文的にサポートする」とは、CREATE ステートメントでこれらのデータ型を使用できることを意味しますが、実際にはすべて NUMBER 型です。...
- FLOAT(p): NUMBER 型にマップします。
理解できないのは、それが NUMBER にどのようにマップされるかです。
NUMBER(p)
精度を指定できますが、スケールのデフォルトは 0 です。つまり、固定精度ですが可変スケールにFLOAT(p)
マッピングされているようですNUMBER(decimal p, *)
。これは、私が知る限り NUMBER 型で許可されているものではありません。
では、FLOAT は単なるエイリアスではなく、NUMBER だけでは提供されない動作も提供するのでしょうか?