为了在这里回答另一个问题,我创建了以下数据结构和行:
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 的比例。我不明白为什么这个数字是这样的。如果我没有指定精度和比例,那么结果是一样的。为什么是这样?