有一个数据表,字段有begin_date,end_date,如何显示这两者之间的日期,并把它插入一个新的表中?
谢谢!!

解决方案 »

  1.   

    搞个循环,每次在begin_date上加1,插入表中即可,直到大于等于end_date退出循环。
      

  2.   


    create table ta(id1 int,id2 int);
    insert into ta select 1,5 from dual;select id1+rownum-1,id2 from ta
    connect by id1+rownum-1<=id2
      

  3.   

    select date=dateadd(day,number,'2009-9-28')
    from master..spt_values 
    where type='p' and number>=0
    and dateadd(day,number,'2009-9-28')<='2009-10-5'
      

  4.   


    是oracle数据库而不是sqlserver,那里有master库
      

  5.   

    sql语句查询条件为 where <=结束日期  >=开始日期 把结果输出到页面
      

  6.   

    SQL> select * from t2;BEGIN_DATE      END_DATE
    --------------- ---------------
    20-NOV-09       25-NOV-09SQL> select begin_date+rownum from t2
      2  connect by begin_date+rownum<end_date;BEGIN_DATE+ROWN
    ---------------
    21-NOV-09
    22-NOV-09
    23-NOV-09
    24-NOV-09
      

  7.   

    如果要插入到另外一个表中的话
    SQL> create table t3(time date);Table created.SQL> insert into t3
      2  select begin_date+rownum from t2
      3  connect by begin_date+rownum<end_date;4 rows created.SQL> select * from t3;TIME
    ---------------
    21-NOV-09
    22-NOV-09
    23-NOV-09
    24-NOV-09