本文 |
(trunc((extract(epoch from [項目]) / 86400)::numeric, 0) * 24 || ' hours')::interval + to_char([項目], 'HH24:MI:SS.US')::interval
同一クエリ、セッション内で何度も利用する場合、一時領域でcreate functionしても良いと思う。
create or replace function pg_temp.to_timespan(interval) returns interval as $$ select (trunc((extract(epoch from $1) / 86400)::numeric, 0) * 24 || ' hours')::interval + to_char($1, 'HH24:MI:SS.US')::interval $$ language sql;
select pg_temp.to_timespan('1 year 2 mons 3 days 4 hours 5 mins 6 secs'::interval); 結果 to_timespan ------------- 10276:05:06 (1 row)
|