日期:2014-05-18  浏览次数:20527 次

一个傻傻的问题...................................


如果现在是五月表#t插入如下数据:
日期                 购进
2007-5-1           0
2007-5-2           0
.....                 0
.....                 0
2007-5-31         0
如果现在是二月表#t插入如下数据:
日期                 购进
2007-2-1           0
2007-2-2           0
....                   0
....                   0
2007-2-28         0  


------解决方案--------------------
改一改就行啦,主要是怎样取得一年的第一天和最后一天,你这个更容易
因为一年的第一天肯定1月1号,而最后一天是12,31号
create table #t(FDate datetime,Gin int)
declare @mindate datetime,@maxdate datetime
select @mindate=Convert(DateTime,Convert(varchar(4),GetDate(),102)+ '0101 ')
select @maxdate=Convert(DateTime,Convert(varchar(4),GetDate(),102)+ '1231 ')
while @mindate <= @maxdate
begin
insert into #t(FDate,Gin) values(@mindate,0)
select @mindate = Dateadd(dd,1,@mindate)
end
select * from #t
drop table #t