【发布时间】:2020-12-14 00:53:50
【问题描述】:
我有以下查询来计算总和时间戳
SELECT SUM(TIME_SPENT) FROM
(
select a - b as time_spent from tbl1 where name = 'xxx'
union all
select c - d as time_spent from tbl2 where name= 'yyy'
)a;
子查询返回结果为 +00 00:01:54.252000 但是整个查询返回错误为 ORA-00932:不一致的数据类型:预期的 NUMBER 得到了 INTERVAL DAY TO SECOND。
理解它需要这样的东西
SELECT COALESCE (
(to_timestamp('2014-09-22 16:00:00','yyyy/mm/dd HH24:MI:SS') - to_timestamp('2014-09-22 09:00:00','yyyy/mm/dd HH24:MI:SS')) -
(to_timestamp('2014-09-22 16:00:00','yyyy/mm/dd HH24:MI:SS') - to_timestamp('2014-09-22 09:00:00','yyyy/mm/dd HH24:MI:SS')), INTERVAL '0' DAY) FROM DUAL;
如何实现与子查询一起从 Timestamp 类型的列中检索数据?
【问题讨论】:
标签: oracle sum timestamp ora-00932