修改数据库DB2里面的DEClMAL_怎么让db2 decimal四舍五入?
展開全部
ROUND(number, num_digits)
如:ROUND(2.18, 1):將 2.18 四舍五入到一個小數位
得出的結果是2.2
若要始終進行向62616964757a686964616fe58685e5aeb931333365643662上舍入(遠離 0),使用 ROUNDUP 函數。
若要始終進行向下舍入(朝向 0),使用 ROUNDDOWN 函數。
MONEY1:DB2首先計算23.44/5 = 4.688,DB2自動將4.688格式化為DECIMAL(31,29),然后再round(4.688,2) = 4.69
MONEY2:DB2首先計算t.MONEY/5 = 4.68,計算結果實為4.688,但計算過程中產生了類型格式化,DB2自動將結果匹配為MONEY字段類型DECIMAL(31,2)產生了小數位截斷的情況,然后再round(4.68,2) = 4.68 (單用round函數未達到預期的結果)
MONEY3:CAST(t.MONEY AS DECIMAL(31,3))將MONEY類型擴展為保留3位小數,計算CAST(t.MONEY AS DECIMAL(31,3))/5 = 4.688 ,然后再round(4.688,2) = 4.69 ?(推薦方法)
MONEY4:實際上是對MONEY3結果的再次格式化,方便將結果寫入到其它表中,所以再次將結果進行格式化為DECIMAL(31,2)
總結:在數據庫中進行四舍五入前,防止產生小數截斷的情況,需要使用CAST先將字段類型進行擴展,然后再計算。 這就是為什么要使用CAST函數了!
DB2是IBM出品的一系列關系型數據庫管理系統,分別在不同的操作系統平臺上服務。雖然DB2產品是基于UNIX的系統和個人計算機操作系統,但在基于UNIX系統和微軟在windows系統下的Access方面,DB2追尋了ORACLE的數據庫產品。
總結
以上是生活随笔為你收集整理的修改数据库DB2里面的DEClMAL_怎么让db2 decimal四舍五入?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11打开Excel提示Stdole
- 下一篇: 热带风景摄影滤镜调色效果lr预设