TSQL查询 - 返回两个日期之间的所有秒数

Bro*_*ing 2 t-sql sql-server sql-server-2008

我需要一个TSQL查询,它返回自给定开始日期以来的所有秒数.我将使用它来对外连接另一个表,以查看每秒下载的字节数.我正在使用Sql Server 2008.

Bra*_*ing 5

我在这里拍摄时尚,但这是一个开始:

DECLARE @STARTDATE DATETIME
DECLARE @ENDDATE DATETIME

SET @STARTDATE = '05/01/2010'
SET @ENDDATE = GETDATE()

-- Find the seconds between these two dates
SELECT DATEADD(SECOND, Number, @StartDate) AS N
FROM Numbers
WHERE Number < DATEDIFF(SECOND, @STARTDATE, @ENDDATE)
Run Code Online (Sandbox Code Playgroud)

这假设一个名为Numbers的表,其中一个名为Number的列包含从1开始的值.能够获得整整一个月的结果,你需要拥有高达250万左右的价值.我会将查询保持在一天,这意味着Numbers表可以使用小于100,000的值.

这是关于数字表的一篇很棒的文章:http://www.sqlservercentral.com/articles/Advanced+Querying/2547/

注册是必需的,但它是免费的.如果你做任何严肃的SQL Server编程,这个网站是非常有用的.