【问题标题】:MySQL field type for weight and height data体重和身高数据的 MySQL 字段类型
【发布时间】:2012-06-24 02:41:58
【问题描述】:

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

【问题讨论】:

  • 您将只使用整数还是浮点数?您需要存储的最大可能值是多少?你会存储负数还是只存储正数?
  • 我认为应该考虑浮点数。例如:80,550 (80 k, 550 gr.) 最大值适用于婴儿 (10,000, 1m)。当然,所有的积极因素。哈哈

标签: mysql sqldatatypes fieldtype


【解决方案1】:

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

如果您绝对需要高度/体重恰好是一定的小数位数并且不受浮点数可能导致的问题的影响,请使用decimal()(小数有两个参数,位数> 1并且位数

如果您愿意接受某些数值比其他数值更不精确的可能性,请使用 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

【讨论】:

  • 我不相信小数(5,2)会存储像 99999.99 这样大的值。第一个数字是总位数。文档:dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html“标准 SQL 要求 DECIMAL(5,2) 能够存储任何五位和两位小数的值,因此可以存储在薪水列中的值范围为 -999.99 到 999.99。”
猜你喜欢
  • 2019-01-21
  • 2018-07-27
  • 1970-01-01
  • 2011-01-09
  • 1970-01-01
  • 2017-06-07
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
相关资源
最近更新 更多