declare @day int,@week int,@str varchar(100)select @day=datediff(day,'2003-05-04','2004-06-06')if @day%7=0 then set @week=@day/7
else set @week=1+(@day/7)select  @str='select top '+str(@week,10,0)+' identity(int,1,1) as week into #1 from sysobjects,syscolumns'exec(@str)select id,DATEADD(day,7*(week-1),'2005-05-04'),DATEADD(day,7*week,'2005-05-04') from #1

解决方案 »

  1.   

    tangqijun199(撒旦) 
    为什么提示说(57 行受影响)
    对象名 '#1' 无效。
    (返回 0 行)
      

  2.   

    declare @day int,@week int,@str varchar(100)select @day=datediff(day,'2003-05-04','2004-06-06')if @day%7=0  set @week=@day/7
    else set @week=1+(@day/7)select  @str='select top '+str(@week,10,0)+' identity(int,1,1) as week into bcbc from sysobjects,syscolumns'exec(@str)
    select week,DATEADD(day,7*(week-1),'2005-05-04'),DATEADD(day,7*week,'2005-05-04') from bcbc测试通过了。
      

  3.   

    不过第二次运行时候会提示:数据库中已存在名为 'bcbc' 的对象。
      

  4.   

    晕,那你最后把表bcbc删除不就可以了?drop table bcbc