【Teradata】四舍五入函数

时间:2023-03-09 00:47:44
【Teradata】四舍五入函数

1.round函数(四舍五入)

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

//使用root用户登录数据库节点
dbscontrol
display general
. RoundHalfwayMagUp = FALSE //默认为false,TD特有的的四舍六入五成双方式
modify general =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)   ==>  进位,保留整数
round(1.54,) ==> .5不进位,保留一位小数

2.ceil函数(向上取整)

ceil(1.15)==>

3.floor函数(向下取整)

floor(1.8)==>

4.trunc函数(截断)

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