0

我在 11203 Oracle 数据库中运行了以下代码,它运行良好,没有错误:

WITH xtimes (xdate) AS  
(
SELECT to_date('22-OCT-13 21:12:23','DD-MON-RR HH24:MI:SS') xdate FROM dual  
UNION ALL  
SELECT xdate+(15/1440) FROM xtimes WHERE xdate+(15/1440) <= to_date('23-OCT-13 21:10:27','DD-MON-RR HH24:MI:SS')
)
select xdate from xtimes

但是,如果它在低于 11203 的版本中运行,例如 11202,则会失败:

SELECT xdate+(15/1440) FROM xtimes WHERE xdate+(15/1440) <= to_date('23-OCT-13 21:10:27','DD-MON-RR HH24:MI:SS')
            *

第 5 行出现错误:ORA-01790:表达式必须具有与相应表达式相同的数据类型

如何更改上述代码,使其可以在 11202 db 中运行?

4

1 回答 1

1

试试这个查询,它适用于早期版本的 Oracle - 我记得版本 8 或 9。

select to_char( to_date('22-12-13 21:12:23','DD-Mm-RR HH24:MI:SS') 
                + (level-1) * 15/1440, 'rr-mm-dd hh24:mi' )  xdate
from dual
connect by to_date('22-12-13 21:12:23','DD-mm-RR HH24:MI:SS')
       + (level-1) * 15/1440  
       <= to_date('23-12-13 21:10:27','DD-mm-RR HH24:MI:SS')
于 2013-10-24T18:11:48.213 回答