存储统计数据时,我需要DECIMAL,FLOAT还是DOUBLE?
我创建游戏的目的很有趣,但是我仍然想认真对待它,它是一个托管各种测试的网站。通过这些测试,我希望收集统计数据。
其中一些数据将包括测试定时完成的百分比。我可以轻松计算出测试的百分比,但是当我存储有关测试完成的各种不同值时,我希望返回真实数据。
大多数值都是PHP浮点数,所以我的问题是,如果我想要真实的统计数据,应该将它们以FLOAT,DOUBLE或DECIMAL的形式存储在MYSQL中。
我想利用MYSQL的功能,例如AVG()
和LOG10()
以及TRUNCATE()
。为了使MYSQL根据我插入的值返回真实数据,应将什么用作数据库列选择。
我问是因为某些数字可能是也可能不是浮点数,例如10、10.89、99.09或仅仅是0。但是我希望返回真实有效的统计数据。
我可以依靠浮点运算吗?
我知道这是一个通用问题,我对此深表歉意,但对于像我这样的非数学家,我也不是MYSQL专家,我希望获得该领域专家的意见。
我已经进行了研究,但是我仍然对此事有模糊的判断。再次抱歉,我的问题不在主题范围内或不适合该网站。
回答:
该 很好地解释了您要寻找的内容。这是说的:
所有这三种类型都可以通过以下参数(大小,d)指定。其中size是字符串的总大小,而d表示精度。例如,要存储类似1234.567的数字,请将数据类型设置为DOUBLE(7,3),其中7是位数的总数,而3是跟随小数点的位数。
FLOAT和DOUBLE都代表浮点数。FLOAT用于单精度,而DOUBLE用于双精度数字。从0到23的精度导致4字节单精度FLOAT列。从24到53的精度将导致8字节的双精度DOUBLE列。FLOAT精确到小数点后7位,双精度最高14位。
小数的声明和功能类似于Double。但是浮点值和十进制(数字)值之间有一个很大的区别。我们使用DECIMAL数据类型来存储精确的数值,而在这里我们不需要精度,而是想要精确的数值。小数类型最多可存储65位数字,小数点后为30位数字。
以上是 存储统计数据时,我需要DECIMAL,FLOAT还是DOUBLE? 的全部内容, 来源链接: utcz.com/qa/417995.html