Oracle10g 如何更改此查询以使其适用于日期范围

Oracle10g 如何更改此查询以使其适用于日期范围,oracle10g,Oracle10g,这只提供了一天的数据,我如何更改它,使其在日期范围内工作 SELECT TO_DATE('21-Jul-2013') + (LEVEL * 5/1440) ts5, TO_DATE('21-Jul-2013') + (LEVEL * 5/1440) + DECODE(TO_CHAR(TO_DATE('21-Jul-2013') + (LEVEL * 5/1440),'mi'),

这只提供了一天的数据,我如何更改它,使其在日期范围内工作

SELECT  TO_DATE('21-Jul-2013') + (LEVEL * 5/1440) ts5,
                        TO_DATE('21-Jul-2013') + (LEVEL * 5/1440) + 
                            DECODE(TO_CHAR(TO_DATE('21-Jul-2013') + (LEVEL * 5/1440),'mi'),
                                    '05',10,'10',5,'20',10,'25',5,
                                    '35',10,'40',5,'50',10,'55',5,0)/1440 ts15  
                  FROM dual
                CONNECT BY LEVEL BETWEEN 1 AND 288
选择截止日期('2013年7月21日')+(级别*5/1440)ts5,
...
来自双重
按级别连接尝试以下操作:

你可以更改结束日期

SELECT TO_DATE('21-Jul-2013') + (LEVEL * 5/1440) ts5,
...
from dual
connect by level <= (to_date('23-Jul-2013') - to_date('21-Jul-2013'))* 24*60/5;

不太清楚你的意思;288限制为一天(从1440/5起);如果您限制为288x2,它将跨越两天,288x3将跨越三天,以此类推。;这就是你想要的吗?
SELECT
      TO_DATE ( '21-Jul-2013' )
      + (  LEVEL
        * 5
        / 1440 )
          TS5,
        TO_DATE ( '21-Jul-2013' )
      + (  LEVEL
        * 5
        / 1440 )
      + DECODE ( TO_CHAR ( TO_DATE ( '21-Jul-2013' )
                       + (  LEVEL
                         * 5
                         / 1440 ),
                       'mi' ),
               '05', 10,
               '10', 5,
               '20', 10,
               '25', 5,
               '35', 10,
               '40', 5,
               '50', 10,
               '55', 5,
               0 )
        / 1440
          TS15
FROM
      DUAL
CONNECT BY
      LEVEL BETWEEN 1 AND ((TO_DATE ( '23-Jul-2013' ) - TO_DATE ( '21-Jul-2013' ))*24*60/5);