4

2 つの数値num1(p1,s1)とがあるとしますnum2(p2, s2)(ここでp、 とsはそれぞれ精度とスケールです)。

num1timesの結果の精度とスケールを計算するためのルールは何num2ですか?

直感的には、スケールは と の合計にs1なりs2ます (なぜなら、それが 1 年生で乗算を行う方法だからです!) が、精度を見つけるためのルールがわかりません。

ありがとう。

4

1 に答える 1

1

質問の構文はSQLではないため、次のような2つの数値を宣言したと思います。

CREATE TABLE decimals (num1 DECIMAL(p1,s1), num2 DECIMAL(p2,s2));

精度は数値が格納される桁数であり、スケールは小数点以下の桁数です。

したがって、乗算の結果としてのスケールは になりますs1 + s2が、最大精度も sum になりp1 + p2ます。乗算される数値によっては、実際の精度はこれよりも低くなる可能性があります。

として保存できる数字から始めますDECIMAL(2,1)

SELECT 9.9 * 9.9;

98.01として保存できるものを与えDECIMAL(4,2)ます。

SELECT 9.9 * 0.5;

4.95として保存できるものを与えますDECIMAL(3,2)

于 2012-09-24T10:21:36.637 に答える