我应该使用小数还是浮点数来存储数据库中的比率?特别是在SQL2005中。SQL:你用什么来在数据库中存储比率(百分比)?
2
A
回答
5
这取决于您对准确性的需求。如果您可以容忍来自IEEE存储浮点数的方法的典型错误,那么请使用浮点数,否则,如果您需要精确的表示形式(并且适用于任何不是您将使用的整数的数字在使用百分比的计算中)。
0
取决于你想要它的确切程度。如果你需要1或2位数字,并且你知道最大比率将会在maxint/1000以下,那么我会考虑把这个比率乘以100来存储一个整数。如果您需要确切的数字,您甚至可能希望将分子和分母作为单独的整数存储。否则,坚持浮动或双打。
0
我从来没有在数据库中使用浮点数,也许这是一个古老的技术已解决的习惯,我不是100%确定。
无论是ints,缩放整数还是小数。有时舍入误差似乎不重要,但可能会导致某些值的匹配失败或引入累积误差。
2
这取决于你的比例是什么,真的。
对于利率,例如在银行业务中,我们总是使用小数,其精度和范围由业务决定。如果要计算利率并且结果超出列的精度,那么始终存在业务规则,该规则定义如何对结果进行四舍五入或截断以适合列。
如果您的比例是,例如,一个对象的直径和它的周长之间的比例,我可能会使用浮动。
1
取决于您的应用程序。如果你正在使用浮点数来计算与这个比率有关的所有事情,那么将它作为浮点数来存储可能是有意义的。
但是,除此之外,浮点数通常会带有一点数据库异味。数据库管理员不喜欢他们,因为安装不准确意味着浮点数本质上不一致。这与我们心爱的ACID中的'C'一致性相抵触。
小数和缩放整数至少表现可预测。
相关问题
- 1. 百分比值存储在数据库
- 2. Rails,如何在数据库中存储百分比值
- 3. 频率和百分比数
- 4. SQL百分比
- 5. SQL百分比
- 6. 为什么文件系统存储比SQL数据库更快
- 7. 在SQL中的百分比
- 8. “%”(百分比)在PowerShell中做什么?
- 9. 计数百分比SQL
- 10. SQL - 百分比计数
- 11. SQL - 计数和百分比
- 12. 在sql 2008中存储百分比的逗号值
- 13. JS中的数学 - 如何从百分比中获得比率
- 14. 数据库和任意百分比表?
- 15. Hive中用于百分比的数据类型是什么?
- 16. SQL中SUM的百分比
- 17. SQL查询 - 在百分比
- 18. SQL数据库中的自动计算百分比和Post值
- 19. AS3位图数据百分比比较
- 20. 基于百分比的数值概率
- 21. 数据百分比卡住
- 22. 使用百分比数组来确定概率?
- 23. sql根据百分比分配值
- 24. 在数据表中获取百分比
- 25. 长期存储百分比的问题
- 26. 微软Azure存储 - 成功百分比
- 27. 为什么内容不在百分比
- 28. 如何增加SQL查询/存储过程中的百分比?
- 29. 表示一个百分比,概率或库存水平
- 30. 计算R中频率的百分比