2015-01-07 110 views
0

我有兩個關於sql中的平均函數的問題。avg()返回值類型

  1. 首先我不明白爲什麼它會返回整數而不是十進制數?
  2. 如果你做鑄造例如avg(東西* 1.0)如何使它2小數? decimal(avg(something * 1.0),2)不起作用...
+0

因爲DB2對整數進行整數運算。這適用於劃分和平均值。 –

+0

謝謝,第二個問題呢? –

+0

'avg(something * 1.0)'是_not_ casting。儘管如此,CAST(像DECIMAL(5,2))那樣。 – mustaccio

回答

0

DB2做整數運算。如果您想要兩位小數,我會將結果轉換爲小數:

select cast(avg(1.0 * something) as decimal(10, 2))