我们在数据库中使用查找表来分组数周,数月和数年。可悲的是,创作它的人早已消失,日历在今年年底结束!所以我真的需要找到一种加入它的方式!它的建立与下列:在sql中创建日历
我不是很好的SQL(MS2008)要诚实和香港专业教育学院与它stuggeled,我们不能设置任何新的东西了因为一切都围绕这个建!
我们在数据库中使用查找表来分组数周,数月和数年。可悲的是,创作它的人早已消失,日历在今年年底结束!所以我真的需要找到一种加入它的方式!它的建立与下列:在sql中创建日历
我不是很好的SQL(MS2008)要诚实和香港专业教育学院与它stuggeled,我们不能设置任何新的东西了因为一切都围绕这个建!
你可以这样做,但我不明白为什么你的日历从三月份开始?
declare @Date_Start date, @Date_End date
select @Date_Start = '20130101'
select @Date_End = '20131231'
;with
CTE_Dates as (
select @Date_Start as [Date]
union all
select dateadd(dd, 1, [Date])
from CTE_Dates
where [Date] < @Date_End
),
CTE_Calendar as (
select
[Date],
datename(dw, [Date]) as [Day],
datepart(ww, [Date]) as [Week],
datepart(mm, [Date]) as [MonthID],
dateadd(mm, datediff(mm, 0, getdate()), 0) as [Month],
datepart(yy, [Date]) as [YearID],
dateadd(yy, datediff(yy, 0, getdate()), 0) as [Year],
datepart(qq, [Date]) as [QuarterID],
dateadd(qq, datediff(qq, 0, getdate()), 0) as [Quarter]
from CTE_Dates
)
select
row_number() over (order by [Date]) + @Start_ID - 1 as ID,
*
from CTE_Calendar
option (maxrecursion 0)
你是说你可以不设置任何新的东西了,所以什么是你想实现呢?您的表格已经在您的Excel表格中设置好了,它具有“无限”的行数;为什么不加入它?我真的不知道这个问题。 – Eric
即时尝试添加到数据库中的当前表中,Excel可以很好地处理日期和那个,但它不适用于ID,它最终完全结束。 – GPH
看起来像前两行。将表格中的最后几行添加到您的帖子中。 –