0

合計タイムスタンプを計算する次のクエリがあります

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: inconsistent datatypes: expected NUMBER got 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;

タイムスタンプ型の列からデータを取得するサブクエリとどのように連携できますか?

4

3 に答える 3