create proc p
@year int
as
declare @BY datetime
declare @bt datetime
declare @et datetime
declare @EY datetime
declare @id int
create table wk(id int identity(1,1),des nvarchar(200))
set @id=1
set datefirst 1
set @BY=cast(@year as nvarchar(4))+'01'+'01'
set @EY=cast(@year as nvarchar(4))+'12'+'31'
set @bt=@BY
set @bt=dateadd(d,7-datepart(weekday,@bt)+1,@bt)
set @et=dateadd(d,4,@bt)
insert into wk
select '第'+cast(@id as nvarchar(2))+'周('+replace(convert(char(10),@bt,120),'-','.')+'-'+replace(convert(char(10),@et,120),'-','.')+')'
set @bt=dateadd(d,7,@bt)
--/*
while datediff(d,@bt,@EY)>0
begin
set @bt=@et
set @et=dateadd(d,4,@et)
set @id=@id+1
insert into wk
select '第'+cast(@id as nvarchar(2))+'周('+replace(convert(char(10),@bt,120),'-','.')+'-'+replace(convert(char(10),@et,120),'-','.')+')'
set @bt=dateadd(d,7,@bt)
end
--*/
select * from wk
drop table wk
goexec p '2005'drop proc p
@year int
as
declare @BY datetime
declare @bt datetime
declare @et datetime
declare @EY datetime
declare @id int
create table wk(id int identity(1,1),des nvarchar(200))
set @id=1
set datefirst 1
set @BY=cast(@year as nvarchar(4))+'01'+'01'
set @EY=cast(@year as nvarchar(4))+'12'+'31'
set @bt=@BY
set @bt=dateadd(d,7-datepart(weekday,@bt)+1,@bt)
set @et=dateadd(d,4,@bt)
insert into wk
select '第'+cast(@id as nvarchar(2))+'周('+replace(convert(char(10),@bt,120),'-','.')+'-'+replace(convert(char(10),@et,120),'-','.')+')'
set @bt=dateadd(d,7,@bt)
--/*
while datediff(d,@bt,@EY)>0
begin
set @bt=@et
set @et=dateadd(d,4,@et)
set @id=@id+1
insert into wk
select '第'+cast(@id as nvarchar(2))+'周('+replace(convert(char(10),@bt,120),'-','.')+'-'+replace(convert(char(10),@et,120),'-','.')+')'
set @bt=dateadd(d,7,@bt)
end
--*/
select * from wk
drop table wk
goexec p '2005'drop proc p
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货