有如下需求,
假如输入一段时间比如:2013-1-1至203-1-5
那我sql就得查出 2013-1-1  2013-1-2 2013-1-3 2013-1-4 2013-1-5
这样五条数据。然后再跟数据库表里面数据匹配。
不知道有大神可否赐教一下!SQL需求

解决方案 »

  1.   

    select sday + level - 1
      from (select to_date('2013-1-1', 'yyyy-mm-dd') sday,
                   to_date('2013-1-5', 'yyyy-mm-dd') eday
              from dual) t
    connect by level <= t.eday - t.sday + 1
      

  2.   

    比较基本的sql
    --举例:求t2(t_date,t_num)里面的每天合计数量
    select t1.d_date,nvl(sum(t2.t_num),0) t_num
    from
    (
    select date'2013-01-01'+level-1 d_date
    from dual
    connect by level <= date'2013-01-05' - date'2013-01-01' + 1
    ) t1 left join t2 on t1.d_date = t2.t_date
    group by t1.d_date
    order by t1.d_date