2012-12-04 64 views
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 

回答

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)等等。

1
where whateverDate between FromDate and ToDate