计算利用率时间MSSQL查询

时间:2013-09-09 11:11:24

标签: sql sql-server tsql datetime

我正在尝试找出这样做的最佳方法,但我会欣赏一些输入,我有一个包含StartDateTime和EndDateTime的表。我需要计算HH中的总时间:mm:用过的ss。还有时间没有考虑到。查找操作的整体利用率。希望清楚吗?

数据示例......

StartDateTime           EndDateTime
2013-09-02 11:42:49.337 2013-09-02 11:47:56.520
2013-09-02 11:47:56.527 2013-09-02 12:02:51.150
2013-09-02 12:02:51.160 2013-09-02 12:11:53.543
2013-09-02 12:11:53.550 2013-09-02 12:17:35.063
2013-09-02 12:17:35.083 2013-09-02 12:22:20.860
2013-09-02 12:22:20.890 2013-09-02 12:29:54.490
2013-09-02 12:29:54.520 2013-09-02 12:34:31.873
2013-09-02 12:34:31.897 2013-09-02 12:41:25.097
2013-09-02 12:41:25.123 2013-09-02 12:47:54.280
2013-09-02 12:47:54.750 2013-09-02 12:52:40.387 

1 个答案:

答案 0 :(得分:3)

查找使用时间

select convert(datetime,sum(convert(float, EndTime-StartTime)))  from yourtable

要查找缺少的时间,请从

中减去该时间
select Max(EndTime)-min(StartTime) from yourtable

即:

select convert(datetime,sum(convert(float, EndTime-StartTime))) , 
       Max(EndTime)-min(StartTime) - convert(datetime,sum(convert(float, EndTime-StartTime))) 
from yourtable

这假设没有重叠的时间元素。