回答

收藏

生成日期范围之间的日期

技术问答 技术问答 71 人阅读 | 0 人回复 | 2023-09-13

我需要填写一个表,它将存储在给定日期之间的2个日期范围:09/01/11-10/10/11
8 M: S# Z$ U2 q4 ~5 _5 G* n8 B因此,在这种情况下,表将从2011年9月1日开始存储,直到每天存储到10/10/11。我想知道SQL Server有没有巧妙的方法?-我目前正在使用它SQL Server 2008 。谢谢6 r: ~+ j. m0 ]7 M. s  w, z. g
                                                               
$ ~3 v4 `; V$ H4 v; u    解决方案:                                                                . T; l# q% m. C0 b  l4 n- B
                                                                在SQL 2005 上容易;如果你有数字表或理货表,操作起来会更容易。我在下面伪造了它:0 b# T% b( {9 }3 F2 J8 E" D5 P
DECLARE @StartDate DATE =  @EndDate DATE = '20111001'SELECT  DATEADD(DAY,nbr - 1,@StartDate)FROM   ( SELECT    ROW_NUMBER() OVER ( ORDER BY c.object_id ) AS Nbr          FROM      sys.columns c       nbrsWHERE   nbr - 1 若您有计数表,则用该表替换子查询。没有递归。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则