我應該使用小數還是浮點數來存儲數據庫中的比率?特別是在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中頻率的百分比