本帖最后由 gc_xyz 于 2010-04-05 16:39:47 编辑

解决方案 »

  1.   

    给一个日期,得出当月所有日期列表declare @date datetime   
    set @date='2009-02-05'  
      
    select [day]=convert(varchar,DATEADD(mm,DATEDIFF(mm,0,@date),0)+number,112)   
    from master..spt_values   
    where type='p'  
      and number< datediff(dd,@date,dateadd(mm,1,@date))   
      
    /*  
     day  
    20090201  
    20090202  
    20090203  
    20090204  
    20090205  
    20090206  
    20090207  
    20090208  
    20090209  
    20090210  
    20090211  
    20090212  
    20090213  
    20090214  
    20090215  
    20090216  
    20090217  
    20090218  
    20090219  
    20090220  
    20090221  
    20090222  
    20090223  
    20090224  
    20090225  
    20090226  
    20090227  
    20090228  
    */  
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/htl258/archive/2009/09/06/4525426.aspx
      

  2.   

    构造一个时间表 与你的表left join 方法TONY哥写了 不多说