Teradata不断返回零的小数

时间:2016-08-03 03:47:04

标签: sql decimal teradata

以精度2进行十进制转换,在小数点后保持返回00。我如何实际返回值?

column1 hourlycolumn1

---------- ------------------

9797 163.00

358 5.00

265 4.00

    select top 10

column1,cast(column1/60 as decimal(6,2)) as "hourlycolumn1"

from 

....

我想要返回的是

column1 hourlycolumn1

---------- ------------------

9797 163.28

358 5.96

265 4.41

1 个答案:

答案 0 :(得分:2)

您的列是整数和整数除法截断。 截断后,十进制为

在分裂前简单施放

column1,cast(column1 as decimal(6,2))/60

基于小数的计算在Teradata中有点棘手,因为它在每一步之后都是舍入的,因此基本的建议是在除法之前进行乘法运算。见DECIMAL Result Data Type