/*本年度所有的单月单周的星期五*/
create table friday
(
fyear int,
fmonth int,
fday int,
fweek int
)
declare @fri datetime
set @fri='01/01/2005'
--置初值
while datepart(weekday,@fri)<>6
begin
set @fri=dateadd(day,1,@fri)
--定位在今年的第一个星期五
end
--此循环使下面循环每次周数递增均为周五
while year(@fri)<2006--判定是否为今年
begin
if (month(@fri)%2=1) and (datepart(week,@fri)%2=1)--判定是否为奇数月和奇数周
begin
insert into friday values (year(@fri),month(@fri),day(@fri),datepart(week,@fri))
--插入数据
end
set @fri=dateadd(week,1,@fri)
--周数递增,定位于下周五
end
--drop table friday
select * from friday
create table friday
(
fyear int,
fmonth int,
fday int,
fweek int
)
declare @fri datetime
set @fri='01/01/2005'
--置初值
while datepart(weekday,@fri)<>6
begin
set @fri=dateadd(day,1,@fri)
--定位在今年的第一个星期五
end
--此循环使下面循环每次周数递增均为周五
while year(@fri)<2006--判定是否为今年
begin
if (month(@fri)%2=1) and (datepart(week,@fri)%2=1)--判定是否为奇数月和奇数周
begin
insert into friday values (year(@fri),month(@fri),day(@fri),datepart(week,@fri))
--插入数据
end
set @fri=dateadd(week,1,@fri)
--周数递增,定位于下周五
end
--drop table friday
select * from friday