我有两个字段:fromdt和todtfromdt= 2006-05-01
todt = 2006-05-05现在我要查数据成为如下格式
     COLUMN        DT
       A          2006-05-01
       A          2006-05-02
       A          2006-05-03
      ...         ...
       A          2006-05-05请问这个SQL怎么拼
 

解决方案 »

  1.   

    declare @fromdt datetime,@todt datetime,@i int
    set @fromdt='2006-05-01'
    set @todt  ='2006-05-05'
    set @i=datediff(dd,@fromdt,@todt)+1
    set rowcount @i
    select identity(int,0,1) as id into # from sysobjects a,syscolumns b
    set rowcount 0
    select 'A' [COLUMN],dateadd(day,id,@fromdt) DT from #/*
    COLUMN DT
    ------ -------------------------------
    A      2006-05-01 00:00:00.000
    A      2006-05-02 00:00:00.000
    A      2006-05-03 00:00:00.000
    A      2006-05-04 00:00:00.000
    A      2006-05-05 00:00:00.000
    */drop table #
      

  2.   

    declare @begindate datetime
    declare @enddate datetime
    select @begindate = '2006-05-01'
    select @enddate = '2006-05-05'
    create table #t(tcolumn varchar(10),dt datetime)
    while @begindate < = @enddate
    begin
    insert into #t(tcolumn,dt)
    select 'A',@begindate
    select @begindate = dateadd(day,1,@begindate)
    end
    select tcolumn,dt from #t
    drop table #t
      

  3.   

    gahade()的写法可以稍为优化一下 变两个变量为一个变量