假设我有两个数字num1(p1,s1)
和num2(p2, s2)
(其中p
和s
分别是精度和比例)。
num1
计算时间结果的精度和规模的规则是什么num2
?
直观地说,规模将是和的总和s1
(s2
因为这就是一年级乘法的方式!),但我无法弄清楚找到精度的规则。
谢谢。
我假设您已将这两个数字声明为如下所示,因为您问题中的语法不是 SQL:
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)