首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Server 2008中获取时间之和

问在Server 2008中获取时间之和
EN

Stack Overflow用户
提问于 2012-09-05 05:34:46
回答 2查看 990关注 0票数 0

我有一个表tblTimesheet,用于存储用户计时时间,如下所示:

代码语言:javascript
复制
Hours
4.01
3.44
0.05
0.04
2.40

我想要的是一些我正在使用的时间段

代码语言:javascript
复制
select sum(hours) from tbltimesheets
where workDate='2012-08-30 00:00:00.000' and taskid in (86,3,34)

但是它给了我9.94,我想得到10.34;数据类型是这个字段的十进制。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-05 05:54:09

不如像这样

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2012-09-05 05:40:21

一小时到一分钟,最后一步除以60。

代码语言:javascript
复制
select (sum(hours*60)/60) from tbltimesheets
where workDate='2012-08-30 00:00:00.000' and taskid in (86,3,34)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12275035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档