如何得到这样的数据
比如输入 2011/1/1 ,2011/2/1想得到的数据是
2011/1/1
2011/1/2
2011/1/3
2011/1/4
2011/1/5
........
........
........
2011/1/29
2011/1/30
2011/1/31
2011/2/1没有表的,
如何些啊

解决方案 »

  1.   


    最笨的办法
    DateTime dt1=DateTime.Parse('2011/1/1');
    DateTime dt2=DateTime.Parse('2011/2/1');
    List<DateTime> lstDT=new List<DateTime>();
    while(dt1>dt2)
    {
        lstDT.add(dt1);
        dt1=dt1.AddDay();
    }
    纯手打没测试
      

  2.   

    declare @str1 varchar(10),@str2 varchar(10)
    select @str1='2011/1/1',@str2='2011/2/1'select convert(varchar(10),dateadd(dd,number,cast(@str1 as datetime)),111) as 日期
    from master..spt_values
    where type='p' and number<DATEDIFF(DD,cast(@str1 as datetime),cast(@str2 as datetime))
    /*
    日期
    ----------
    2011/01/01
    2011/01/02
    2011/01/03
    2011/01/04
    2011/01/05
    2011/01/06
    2011/01/07
    2011/01/08
    .......
      

  3.   


    declare @date1 datetime 
    declare @date2 datetime 
    set @date1 = '2011/1/1'
    set @date2 = '2011/2/1'
    select datediff(day,@date1,@date2)
    select dateadd(day,number,@date1),number from master.dbo.spt_values 
    where type ='p' and number < =datediff(day,@date1,@date2)