2016-08-03 93 views
0

铸造小数点精度为2,小数点后保持返回00。我如何实际返回值?Teradata不断返回小数点零位

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

+0

http://stackoverflow.com/questions/3443672/integer-division-in-sql-server的可能重复尝试将您的column1转换为十进制 – niketshah90

+0

涉及最少量输入的修复是要更改60变成十进制值,如60.0 –

回答

1

您的列是一个整数和整数除法截断。在截断后转换为小数点后为

分裂之前可简单地把基于小数

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

计算是有点在Teradata的棘手,因为它的每一步都经过四舍五入,因此基本建议是对分裂之前乘法。请参阅DECIMAL Result Data Type