sql 保留兩位小數+四舍五入


問題:

而數據庫實際上寫入的數據分別為:

 

 

問題分析:

不管是總匯總數據還是條目匯總數據都是根據,每一條出庫數據,是以單價為組,單價*總面積的和得到每條細目的價格或者是總價格。在SQL處理的過程中計算截取了兩位,造成了有些數據直接截掉,沒有按照四舍五入的規則,出現了0.01的誤差。SQL計算默認保留精度。

知識補充:

處理數據的時候要經常用到四舍五入問題,這里記錄一下剛從網上搜到的方法

1. ROUND(該函數,只是負責四舍五入到兩位小數,但是不負責截斷 只留兩位小數,例如下例:)

關於ROUND函數,我們平常理解為4舍5入,如:

print ROUND(13.145, 2);

結果為:13.150
 

2. 使用轉換類型,才能達到保留兩位小數位的目的: 

select cast(13.145 as   decimal(10,   2))

結果為:13.15

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM