这个应该放在代码里面实现比较好,用sql的话要写存储过程。。。
你知道BeginDate, 知道EndDate是吧
1、判断EndDate必须大于BeginDate
2、循环
3、Date=BeginDate+1天
4、Until Date>=EndDate
5、代码完成
declare @time datetime=getdate(); set datefirst 1; while @time<DATEADD(MONTH,1, GETDATE()) begin print DATEPART(WEEKDAY,@time); if DATEPART(WEEKDAY,@time)<>6 and DATEPART(WEEKDAY,@time)<>7 begin print @time; end set @time=DATEADD(DAY,1, @time); end
如果把这节假日排除在工作日之外,就不是一个简单的sql就能搞定的