ここでは、Oracle データベースのテーブルに数値型(number型)のカラムを作成するサンプルを掲載しています。なお、以下のリンク先にその詳細な記載がありますので、合わせて確認ください。
スポンサーリンク
NUMBERデータ型の精度
number型は非常に大きな(小さな)値を扱うことができ、デフォルトで最大38桁の精度で数値を扱うことができます。
- 1 x 10-130~9.99…9 x 10125の範囲の正の数。最大有効桁数は38です。
- -1 x 10-130~9.99…99 x 10125の範囲の負の数。最大有効桁数は38です。
- 0(ゼロ)
- 正と負の無限大(Oracle Databaseバージョン5からのインポート時にのみ生成されます)。
精度(全体の桁数)とスケール(小数点以下の桁数)を指定する
number型は、全体の桁数と小数点以下の桁数を指定することもできます。下表は、入力データ(数値)がどのようにデータベースに格納されるかのサンプルを示しています。詳細は、前述のリンク先で確認ください。
スケール変更係数が数値データの格納に与える影響
入力データ number型の定義 格納されるデータ 7,456,123.89 NUMBER 7456123.89 7,456,123.89 NUMBER(*,1) 7456123.9 7,456,123.89 NUMBER(9) 7456124 7,456,123.89 NUMBER(9,2) 7456123.89 7,456,123.89 NUMBER(9,1) 7456123.9 7,456,123.89 NUMBER(6) (精度を超えているため、受け入れられない) 7,456,123.89 NUMBER(7,-2) 7456100
スケールにマイナス値を指定する
あまり使わないかもしれませんが、小数点以下の桁数に負数を指定する(表では(7,-2))と、100の位で丸められようようになります。
個人的には、どのような用途で使用されるのか気になります。教えて頂けると嬉しいです。どちらかと言うとデータベースよりはアプリケーション側でまるめる気がしてなりません。