0

在 SQL Server 2008 中,我有一个包含事件和事件日期时间的表。在另一个表中,我有一个可能的时间间隔列表,如下所示。有没有人举例说明只有当事件日期时间落在我的间隔表中的间隔内时,我才能从我的事件表中进行选择?

FromDate                ToDate  
-----------------------------------------------           
2012-11-29 06:00:00.000 2012-11-29 07:00:00.000 
2012-11-29 07:00:00.000 2012-11-29 08:00:00.000 
2012-11-29 09:00:00.000 2012-11-29 10:00:00.000 
4

2 回答 2

1
where whateverDate between FromDate and ToDate
于 2012-12-04T13:07:57.867 回答
0
SELECT e.*
FROM Events e
INNER JOIN Intervals i
ON e.EventDate BETWEEN i.FromDate AND i.ToDate
WHERE i.FromDate = '2012-11-29 06:00:00.000'

这是您可以使用的基本查询。它选择一个间隔,并确保EventDate它在其日期范围之间。有了这个,您可以修改查询以执行诸如在每个间隔(GROUP BY例如)中聚合数据等操作。

于 2012-12-04T13:08:06.380 回答