Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
DECIMAL データ型は、総桁数の precision と小数点以下の桁数の scale を持つ 10 進数です。
DECIMAL [ ( precision [ , scale ] ) ]
precision 式の桁数を指定する整数式。1 ~ 127 の範囲。デフォルト設定値は 30 です。
scale 小数点以下の桁数を指定する整数式。0 ~ 127 の範囲。scale 値は precision 値以下にする必要があります。デフォルト設定値は 6 です。
デフォルトは、適切な作成パラメータを設定することによって変更できます。
DECIMAL データ型は真数値データ型です。精度は、算術演算の後、最小の有効桁数まで保存されます。
10 進数を格納するために必要なバイト数は、次のように計算できます。
2 + INT(((precision - scale) + 1) / 2) + INT((scale + 1) / 2);
INT 関数は引数の整数部分です。記憶領域の計算の基準は、カラムの中で使われている最大精度と小数点以下の桁数ではなく、格納されている値を使います。
使用する精度が 20 以下で小数点以下の桁数が 0 の場合、代わりに整数データ型のいずれか (BIGINT、INTEGER、SMALLINT、または TINYINT) を使用できることがあります。整数値では、有効桁数が同じくらいの NUMERIC 値や DECIMAL 値よりも少ない記憶領域が使用されます。整数値の操作 (フェッチ、挿入など) や算術演算子は、通常、NUMERIC 値や DECIMAL 値の操作よりも速く実行されます。
DECIMAL データ型のカラムまたは変数を作成するとき、これらのカラムまたは変数の精度または位取りがデータベースの精度および位取りの設定を超過する場合は、値はデータベースの設定に合わせてトランケートされます。このため、DECIMAL として定義されているカラムまたは変数の値がトランケートされる場合は、精度と位取りがデータベースのオプション設定を超過していないかどうかを確認します。