【发布时间】:2011-10-25 20:20:12
【问题描述】:
我们有一个名为 Events 的表,其中包含 Id(int)、EventDate(DateTime)、EventStart(datetime) 和 EventEnd(datetime) 列。
所有事件都在一天开始和结束(即没有事件在第二天结束),但是给定日期的事件可能会在它们之间重叠(包括其中一个可以完全覆盖另一个)。
在给定日期可能发生任意数量的事件。
我想计算一天中至少一个事件在 T-SQL 中运行的总持续时间。我可以选择给定日期的事件,甚至编写了一个函数,如果两个事件重叠则返回 true,否则返回 false。
然而,我被困在如何将记录成对并通过我的函数运行,适当地添加持续时间,直到我用完事件。
你能帮忙吗?
克里斯
【问题讨论】:
-
你能给出一些示例数据和一些预期的输出吗?我不确定我是否按照您的要求进行操作。
标签: tsql