在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 :(得分:1)
where whateverDate between FromDate and ToDate
答案 1 :(得分: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
)中的聚合数据等操作。