【Teradata】四舍五入函數


1.round函數(四舍五入)

(1)dbscontrol設定使用普通四舍五入方式

//使用root用戶登錄數據庫節點
dbscontrol
display general 
20. RoundHalfwayMagUp              = FALSE  //默認為false,TD特有的的四舍六入五成雙方式
modify general 20=true
write
quit

設定完畢后使用如下命令重啟數據庫,生效配置。

tpareset -f 'RoundHalfwayMagUp = true'

(2)Teradata四舍六入五成雙方式詳解

四舍六入五成雙是一種精確度的計數保留法。這里"四"是小於五的意思,"六"是大於五的意思,"五"是舍入位之后的尾數逢五的話看前一位,奇進偶不進。

//四舍六入 
cast(3.451 as decimal(18,1))  ==>3.4不進位
cast(3.651 as decimal(18,1))  ==>3.7進位
//逢五,前一位奇進偶不進
cast(3.75 as decimal(18,1))  ==>3.8進位
cast(3.85 as decimal(18,1))  ==>3.8不進位

(3)普通四舍五入方式詳解

round(1.58)   ==> 2 進位,保留整數
round(1.54,1) ==> 1.5不進位,保留一位小數

2.ceil函數(向上取整)

ceil(1.15)==>2

3.floor函數(向下取整)

floor(1.8)==>1

4.trunc函數(截斷)

trunc(1.58)  ==>1
trunc(1.58,1)==>1.5

 


免責聲明!

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



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