假设我有两个数字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)