Mysql (My)SQL中十进制乘法的精度和小数位数
假设我有两个数字Mysql (My)SQL中十进制乘法的精度和小数位数,mysql,decimal,scale,precision,Mysql,Decimal,Scale,Precision,假设我有两个数字num1(p1,s1)和num2(p2,s2)(其中p和s分别是精度和比例) 计算num1次num2结果的精度和比例的规则是什么 直观地说,量表应该是s1和s2的总和(因为一年级的学生就是这样做乘法的!),但我无法找出求精度的规则 谢谢。我猜您已经声明了两个数字,类似于以下内容,因为您问题中的语法不是SQL: CREATE TABLE decimals (num1 DECIMAL(p1,s1), num2 DECIMAL(p2,s2)); 精度只是数字存储到的位数,刻度是小数点
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
,但最大精度也是和p1+p2
。根据乘以的数字,实际精度可能小于此值
示例
从可存储为十进制(2,1)的数字开始:
给出98.01
,可存储为十进制(4,2)
给出4.95
,可存储为十进制(3,2)
SELECT 9.9 * 9.9;
SELECT 9.9 * 0.5;