2012-12-04 247 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