ここで別の質問に答えるために、次のデータ構造と行を作成しました。
create table [resource] (Name varchar(16),date datetime, project varchar(16),hours int)
INSERT INTO resource
values ('Andy Sandy', '2013-03-02', 'Enhancements',40)
INSERT INTO resource
values('Fred Jones', '2013-10-02', 'Enhancements',40)
次のクエリを実行しました。
select
case when sum(hours) > 0 Then
CAST(SUM(hours) as DECIMAL(5,2))/40
else 0 end as [hours],
[DATE]
from resource group by date
結果は次のようになります。
Hours Date
1.000000 2013-03-02 00:00:00.000
1.750000 2013-10-02 00:00:00.000
時間を小数にキャストするときに、精度を5、スケールを2に指定しました。なぜこのような数値なのかわかりません。精度とスケールを指定しない場合、結果は同じです。どうしてこれなの?