2016-08-03 91 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