【发布时间】:2014-08-20 08:38:17
【问题描述】:
有一个时间间隔列表。总有一个开始和结束日期时间,例如:
TimeFrom TimeTill
2014-07-10 07:00:00.000 2014-07-10 11:30:00.000
2014-07-10 13:00:00.000 2014-07-10 14:00:00.000
2014-07-10 13:00:00.000 2014-07-10 14:30:00.000
TimeFrom 和 TimeTill 总是在同一天,没有例外。让我们假设这代表花在不同项目上的时间(在这种情况下是三个)。允许重叠。
我想就 SQL Server 2008 R2 查询寻求帮助,以获取此人白天工作的总时间。
请注意,有一段时间没有工作。在这种情况下,它是在 11:30 到 13:00 之间。
当我使用min(TimeFrom) 和max(TimeTill) 来计算最早开始和最晚结束之间的持续时间时,它对重叠工作得很好,除了我无法减去没有工作的间隔。
期望的输出是这样的:
Day TimeWorking
2014-07-10 360
非常感谢您的帮助!
保罗
【问题讨论】:
标签: sql sql-server sql-server-2008-r2