如果您使用的是 SQL Server
,则可以使用主表来执行计算,而无需创建日历表。这位同事为您提供了很好的解释,建议您阅读。他的用于计算每个月的第一个和最后一个星期日的SQL可以适合您的使用:
declare @year intset @year =2011select min(dates) as first_sunday,max(dates) as last_sunday from(select dateadd(day,number-1,DATEADD(year,@year-1900,0))as dates from master..spt_valueswhere type='p' and number between 1 andDATEDIFF(day,DATEADD(year,@year-1900,0),DATEADD(year,@year-1900+1,0))) as twhere DATENAME(weekday,dates)='sunday'group by DATEADD(month,datediff(month,0,dates),0)
编辑: 一旦有了星期四的日期,就可以从该日期获得星期几,如下所示:
DECLARE @Dt datetimeSELECT @Dt='02-21-2008'SELECT DATEPART( wk, @Dt)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)