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