“decimal”是什么类型的MySQL?
decimal是MySQL中存在的精准数据类型。
MySQL中的数据类型有:float,double等非精准数据类型和decimal这种精准。
区别:float,double等非精准类型,在DB中保存的是近似值。
Decimal则以字符串的形式保存精确的原始数值。
decimal介绍:
decimal(a,b)
其中:a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。
备注:DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。
Decimal 变量存储为 96 位无符号的整型形式,并除以一个 10 的幂数。
变比因子为 0的情形下,最大的可能值为 +/-79,228,162,514,264,337,593,543,950,335。
在有 28 个小数位的情况下,最大值为 +/-7.9228162514264337593543950335,而最小的非零值为 +/-0.0000000000000000000000000001。
Decimal 数据类型只能在 Variant中使用,不能声明一变量为 Decimal 的类型。
SQL表中用的数据有整型,小数型,等等。decimal就是小数型,即此列允许小数的输入。
和浮点型差不多,浮点数是直接把小数转化为二进制,二多数小数转化为二进制是有误差的。