Log.log(work)

いろんな作業メモ

vb.net でSQLから計算結果を取得しようとしたら小数点以下がすっぽり落ちてしまった

環境

OS:Windows8.1
Visual Studio 2015
Oracle11g

やりかったこと

例えばある期間内の項目の件数を分(60)で割った値を取得したかった。

例)hogeテーブル

Code ActiveTime CountItem
001 2019-02-01 12:00:00 1
001 2019-02-01 12:01:00 1
002 2019-02-01 12:05:00 1
003 2019-02-01 12:07:00 1

SQL

--やや適当
SELECT SUM(CountItem ) / 60  as CountItem 
FROM hoge 
WHERE ActiveTime BETWEEN '2019-02-01 12:00:00' AND '2019-02-01 12:10:00' 

たとえばSQLを実行すると0.4が取れるとした場合、
vb上ではなぜか0になってしまう。
vbで受け取っている型はDecimal型。
※独自FWなのでvbは省略しますが、OracleDataReaderを使っても同様に小数点以下が落ちる。

結局60で割る処理を、SQLで計算するのではなく、vb側で実施することにして回避。
vb.netに慣れていないのもあるが、調べてても同様の事象を書いているサイトがなかった。
SQLであまり計算とかしないものなのかな。