打印本文 打印本文 关闭窗口 关闭窗口
T-SQL 生成 两个新的真正的公历年历
作者:武汉SEO闵涛  文章来源:敏韬网  点击数6495  更新时间:2007/11/14 11:07:41  文章录入:mintao  责任编辑:mintao
21
union all
select 22
union all
select 23
union all
select 24
union all
select 25
union all
select 26
union all
select 27
union all
select 28
union all
select 29
union all
select 30
) d
where datediff(month,dateadd(year,datediff(year,0,@),0),dateadd(day,d.i,dateadd(month,m.i,dateadd(year,datediff(year,0,@),0)))) = m.i
        
group by datediff(month,0,dateadd(day,0,datediff(day,0,dateadd(day,d.i,dateadd(month,m.i,dateadd(year,datediff(year,0,@),0))))))
        ,datediff(week
        ,case when datename(weekday,dateadd(day,0,datediff(day,0,dateadd(year,datediff(year,0,@),0)))) = ''''星期日''''
                   then dateadd(day,-1,dateadd(day,0,datediff(day,0,dateadd(year,datediff(year,0,@),0))))
              else dateadd(day,0,datediff(day,0,dateadd(year,datediff(year,0,@),0)))
         end    
        ,case when datename(weekday,dateadd(day,0,datediff(day,0,dateadd(day,d.i,dateadd(month,m.i,dateadd(year,datediff(year,0,@),0)))))) = ''''星期日''''
                   then dateadd(day,-1,dateadd(day,0,datediff(day,0,dateadd(day,d.i,dateadd(month,m.i,dateadd(year,datediff(year,0,@),0))))))
              else dateadd(day,0,datediff(day,0,dateadd(day,d.i,dateadd(month,m.i,dateadd(year,datediff(year,0,@),0)))))
         end) +1

上一页  [1] [2] [3] [4] [5] [6] [7] 

打印本文 打印本文 关闭窗口 关闭窗口