重量和高度数据的MySQL字段类型

问题描述:

重量(公斤)和高度(米)数据的MySQL字段类型是什么?重量和高度数据的MySQL字段类型

+0

你们会只用整数或浮点数?您需要存储的最大可能价值是多少?你会存储负数还是只有正数? – Wiseguy

+0

它应该考虑我认为的浮点数。 EX:80,550(80千克,550克)最大值适用于婴儿(10千克,1米)。所有积极的,当然。 LOL –

这一切都取决于。对于不同的数字类型,优点和缺点如下:

如果您绝对需要高度/重量精确到小数位数并且不受浮点数可能导致的问题的影响,请使用decimal()(十进制需要两个参数,数字位数> 1,位数< 1,因此十进制(5,2)将能够存储低至0.01和高达999.99的数字)。固定精度的数学运算速度稍慢,并且因为执行算法涉及的算法而存储它们的成本更高。绝对必须存储货币值或您打算用数字()涉及货币进行数学计算的任何值。例如,如果您是为每个婴儿每磅或每米付费,则需要使用数字()。

如果您愿意接受某些数值不如其他值精确的可能性,请根据所存储数字的精度和大小使用FLOAT或DOUBLE。浮点是基于计算机进行数学运算的方式的近似值,我们使用小数点来表示计算出的10次方,计算机以2为底的数学计算,两者不能直接比较,所以为了解决这个问题, %精度不是必需的,但更快的速度是必要的,这是通过使用整数集合建模无法实现的。

欲了解更多信息:

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html http://dev.mysql.com/doc/refman/5.0/en/fixed-point-types.html http://dev.mysql.com/doc/refman/5.0/en/floating-point-types.html

+0

我不认为十进制(5,2)会存储大至99999.99的值。第一个数字是总位数。 Doc: https://dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html “标准SQL要求DECIMAL(5,2)能够将任何值存储为5数字和两位小数,因此可存储在工资栏中的值范围为-999.99至999.99。“ –

+1

谢谢@JRLawhorne这已被纠正。 – hsanders