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);