decimal是什么数据类型?

decimal是什么数据类型?,第1张

decimal是MySQL中存在的精准数据类型。MySQL中的数据类型有:float,double等非精准数据类型和decimal这种精准。区别:float,double等非精准类型,在DB中保存的是近似值。Decimal则以字符串的形式保存精确的原始数值

扩展资料

对SQL Server而言,decimal和numeric视为相同的类型,它们可用来保存具有小数点而且数值确定的数值。它们不像float和real是用来保存近似值。此类型的列其声明方式为decima[(p[,s])]或numericl[(p[,s])]。其中p是此数值全部的位数,含小数部分但不包括小数点,s则是小数的位数。

p值称为此数值的精确度,例如:decimal(10,3)表示共有7位整数3位小数,此例的精确度为10位。此类型的列可保存的值范围为1038-1到-1038-1之间。其占用存储空间依精确度不同而不同,下表给出Decimal类型变量精确度和占用空间的关系。

直接给个例子。decimal(5,2) 其中 5为最多可以存储的十进制位数为5位,是小数点前后的位数总和。

2表示小数点后面的位数。同理decimal(10,2)表示十进制为10为,小数点为2,例如11111111.36

,100.20是合法的值,而1234.56,总数为6位,为非法的数据值。有人说那存12345应该可以吧。事实证明是不行的。因为其精度是2,所以12345会被当做12345.00来处理,还是 非法的数据。 那么存储100.11111111111111呢?经测试,数据是可以存储的,但是会丢失精度(四舍五入),数据100.11会存储到数据库。

numeric和decimal同理。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6780015.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存