我有一个表tblTimesheet,用于存储用户计时时间,如下所示:
Hours
4.01
3.44
0.05
0.04
2.40我想要的是一些我正在使用的时间段
select sum(hours) from tbltimesheets
where workDate='2012-08-30 00:00:00.000' and taskid in (86,3,34)但是它给了我9.94,我想得到10.34;数据类型是这个字段的十进制。
发布于 2012-09-05 05:54:09
不如像这样
DECLARE @Table TABLE(
Hrs FLOAT
)
INSERT INTO @Table SELECT 4.01
INSERT INTO @Table SELECT 3.44
INSERT INTO @Table SELECT 0.05
INSERT INTO @Table SELECT 0.04
INSERT INTO @Table SELECT 2.40
;WITH Vals AS (
SELECT SUM(FLOOR(Hrs)) NumHrs,
SUM((Hrs - FLOOR(Hrs)) * 100) NumMins
FROM @Table
)
SELECT NumHrs + FLOOR(NumMins / 60) + ((NumMins / 60 - FLOOR(NumMins / 60)) * 60 / 100)
FROM Vals发布于 2012-09-05 05:40:21
一小时到一分钟,最后一步除以60。
select (sum(hours*60)/60) from tbltimesheets
where workDate='2012-08-30 00:00:00.000' and taskid in (86,3,34)https://stackoverflow.com/questions/12275035
复制相似问题