使用Oracle 11g第2版,以下查询给出了ORA-01790:表达式必须与相应的表达式具有相同的数据类型:
with intervals(time_interval) AS
(select trunc(systimestamp)
from dual
union all
select (time_interval + numtodsinterval(10, 'Minute'))
from intervals
where time_interval < systimestamp)
select time_interval from intervals;
Run Code Online (Sandbox Code Playgroud)
该错误表明UNION ALL的两个子查询的数据类型都返回不同的数据类型.
即使我在每个子查询中转换为TIMESTAMP,我也会得到相同的错误.
我错过了什么?
编辑:我不是在寻找CONNECT BY替代品.