8

体重(公斤)和身高(米)数据的适当 MySQL 字段类型是什么?

4

1 回答 1

10

这一切都取决于。不同的数字类型各有优缺点:

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

如果您愿意接受某些数值比其他数值更不精确的可能性,请使用 FLOAT 或 DOUBLE,具体取决于您存储的精度和数字的大小。浮点数是基于计算机进行数学运算的近似值,我们使用小数点表示 10 的幂,计算机以 base2 进行数学运算,两者不能直接比较,因此为了解决算法是针对 100 的情况开发的不需要 % 精度,但需要更快的速度,而使用整数集合对其进行建模是无法实现的。

欲了解更多信息:

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

于 2012-06-21T19:39:33.443 回答