Select Top 8000 identity(Int,1,1) As id Into # from syscolumns a, syscolumns b
Declare @BeginDate DateTime
Declare @EndDate DateTime
Select @BeginDate='2006-05-05',@EndDate='2006-06-06'
Select DateAdd(dd,id-1,@BeginDate) From # Where ID<=DateDiff(dd,@BeginDate,@EndDate)+1
Drop Table #

解决方案 »

  1.   

    我的意思是建一个备用的表。不是用的时候插入,而是事先插入插入的方式就无所谓了吧然后select 日期 from tablename where 日期 between 日期1 and 日期2
      

  2.   

    declare @BeginDate datetime
    declare @EndDate datetime
    SELECT @BeginDate='2006-05-05 00:00:00',@EndDate='2006-06-06 00:00:00'
    --create table d(fdate datetime)
    while datediff(day,@BeginDate,@EndDate)>=0
    begin
    insert d values(@BeginDate)
    select @BeginDate=dateadd(day,1,@Begindate)
    endselect * from dselect * from d
      

  3.   

    create table d(fdate datetime)declare @BeginDate datetime
    declare @EndDate datetime
    SELECT @BeginDate='2006-05-05',@EndDate='2006-06-06'
    while @BeginDate<=@EndDate
    begin
    insert d values(@BeginDate)
    select @BeginDate=dateadd(day,1,@Begindate)
    endselect * from ddrop table d
      

  4.   

    itblog(^ω^) ,看看這句話“目前想到是循环的方法while等,效率比较低。”
      

  5.   

    set rowcount 100
    select identity(int,0,1) as id into # from sysobjects a,sysobjects b
    set rowcount 0
    declare @BeginDate as datetime,
            @EndDate as datetime
    SELECT @BeginDate='2006-05-05 00:00:00',@EndDate='2006-06-06 00:00:00'
    Select DateAdd(dd,id-1,@BeginDate) 
    From # Where 
    ID<=DateDiff(dd,@BeginDate,@EndDate)+1
    drop table #
      

  6.   

    To coolingpipe(冷箫轻笛) :事先插入是不行的,因为用户查询范围是不确定的To itblog(^ω^) :循环的方法效率低To paoluo(一天到晚游泳的鱼) :就用你的方法了,是否感到欣慰?
      

  7.   

    To zlp321002(龙卷风2006) ,你的方法大同小异,只是建表有不同,谢谢了。给分了