1.列举最近10个月
select year(F_MonthDay) f_year,month(F_MonthDay) f_month from (
SELECT DATEADD(mm,number,dateadd(mm,-9,getdate())) AS F_MonthDay FROM master..spt_values WHERE TYPE = 'P' AND DATEADD(mm,number,dateadd(mm,-9,getdate())) <= getdate() )c
2.列举最近10周
select year(F_WeekDay) f_year,DATEPART(week, F_WeekDay) F_Week from (
SELECT DATEADD(wk,number,dateadd(wk,-9,getdate())) AS F_WeekDay FROM master..spt_values WHERE TYPE = 'P' AND DATEADD(wk,number,dateadd(wk,-9,getdate())) <= getdate() )c
这段SQL代码用于列举最近10个月和10周的日期,分别通过`DATEADD`函数结合`master..spt_values`系统表来计算。查询结果包括年份和月份(对于月份)或年份和周数(对于周)。这在需要处理时间序列数据或报表生成时非常有用。
2524

被折叠的 条评论
为什么被折叠?



