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