Isso pode ser feito, mas eu acredito que a única maneira é através do seguinte monstruosidade (assumindo que o seu tempo de nome da coluna intervalo é "ti"):
select
to_char(floor(extract(epoch from ti)/3600),'FM00')
|| ':' || to_char(floor(cast(extract(epoch from ti) as integer) % 3600 / 60), 'FM00')
|| ':' || to_char(cast(extract(epoch from ti) as integer) % 60,'FM00')
as hourstamp
from whatever;
Vejo? Eu lhe disse que era horrível :)
Teria sido bom pensar que
select to_char(ti,'HH24:MI:SS') as hourstamp from t
teria trabalhado, mas, infelizmente, o formato HH24 não "absorver" o transbordamento além 24. O acima vem (reconstruída a partir da memória) a partir de um código, uma vez que eu escrevi. Para evitar ofender aqueles de constituição delicada, I encapsulado as travessuras acima em uma visão ...