【发布时间】:2010-04-22 17:50:36
【问题描述】:
我有一个表格,其中包含每个连续小时的记录。每个小时都有一些价值。我想要一个 T-SQL 查询来检索丢失的记录(丢失的小时数、间隙)。因此,对于下面的 DDL,我应该获得 04/01/2010 02:00 AM 的缺失小时记录(假设日期范围在第一条记录和最后一条记录之间)。使用 SQL Server 2005。首选基于集合的查询。
DDL:
CREATE TABLE [Readings](
[StartDate] [datetime] NOT NULL,
[SomeValue] [int] NOT NULL
)
INSERT INTO [Readings]([StartDate], [SomeValue])
SELECT '20100401 00:00:00.000', 2 UNION ALL
SELECT '20100401 01:00:00.000', 3 UNION ALL
SELECT '20100401 03:00:00.000', 45
【问题讨论】:
标签: sql sql-server tsql sql-server-2005 gaps-and-islands