比如2011年3月份,我想要在查詢的時候顯示記錄如下:
2011/03/01
2011/03/02
2011/03/03
...
2011/03/31
最好是一條查詢語句搞定,先謝謝了!

解决方案 »

  1.   

    select dateadd(dd,number,'20110331') from (select distinct top 31 number from master..spt_values where number>-1 order by number) a
      

  2.   

    select date=convert(varchar(10),dateadd(dd,number,'2011-03-01'),120)
    from master..spt_values
    where type='p' and dateadd(dd,number,'2011-03-01')<'2011-04-01'/*
    date
    --------------
    2011-03-01
    2011-03-02
    2011-03-03
    2011-03-04
    2011-03-05
    2011-03-06
    2011-03-07
    2011-03-08
    2011-03-09
    2011-03-10
    2011-03-11
    2011-03-12
    2011-03-13
    2011-03-14
    2011-03-15
    2011-03-16
    2011-03-17
    2011-03-18
    2011-03-19
    2011-03-20
    2011-03-21
    2011-03-22
    2011-03-23
    2011-03-24
    2011-03-25
    2011-03-26
    2011-03-27
    2011-03-28
    2011-03-29
    2011-03-30
    2011-03-31
    */