为了账号安全,请及时绑定邮箱和手机立即绑定

生成日期范围之间的日期

生成日期范围之间的日期

温温酱 2019-10-18 10:01:50
我需要填充一个表,该表将存储2个给定日期之间的日期范围:09/01/11-10/10/11因此,在这种情况下,表格将从11年9月1日开始存储,直到每天存储到10/10/11,我想知道在SQL Server中是否有一种巧妙的方法-我目前正在使用SQL Server 2008 。 谢谢
查看完整描述

3 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

如果您使用的是SQL Server 2005或更高版本,请尝试以下操作:


WITH Dates AS (

        SELECT

         [Date] = CONVERT(DATETIME,'09/01/2011')

        UNION ALL SELECT

         [Date] = DATEADD(DAY, 1, [Date])

        FROM

         Dates

        WHERE

         Date < '10/10/2011'

) SELECT

 [Date]

FROM

 Dates

 OPTION (MAXRECURSION 45)

CTE可以做的很棒的好例子。


查看完整回答
反对 回复 2019-10-18
?
慕村225694

TA贡献1880条经验 获得超4个赞

- 声明


DECLARE @dates TABLE(dt datetime)    

DECLARE @dateFrom datetime

DECLARE @dateTo datetime


SET @dateFrom = '2001/01/01'

SET @dateTo = '2001/01/12'

- 查询:


WHILE(@dateFrom < @dateTo)

BEGIN

   SELECT @dateFrom = DATEADD(day, 1,@dateFrom)

   INSERT INTO @dates 

   SELECT @dateFrom

END

- 输出


SELECT * FROM @dates


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 420 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信