假设我有两个号码num1(p1,s1)
和num2(p2, s2)
(其中p
和s
分别是精度和比例)。
计算num1
次num2
结果的精确度和比例的规则是什么?
直观地,比例将是s1
和s2
的总和(因为这就是你在1年级进行乘法的方法!),但我无法弄清楚找到精度的规则。
感谢。
答案 0 :(得分:1)
我认为你已经宣布这两个数字类似于以下内容,因为你问题中的语法不是SQL:
CREATE TABLE decimals (num1 DECIMAL(p1,s1), num2 DECIMAL(p2,s2));
精度只是存储数字的位数,而缩放是小数点后的数量。
所以,你是正确的,乘法的比例是s1 + s2
,但最大精度也是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)