select to_char(trunc(:seg/60/60),'09') ||
to_char(trunc(mod(:seg,3600)/60),'09') ||
to_char(mod(mod(:seg,3600),60),'09') hh_mm_ss
from dual;
Vamos ao exemplo:
SQL> variable seg number
SQL> exec :seg := 3000;
PL/SQL procedure successfully completed.
SQL> select to_char(trunc(:seg/60/60),'09') ||
2 to_char(trunc(mod(:seg,3600)/60),'09') ||
3 to_char(mod(mod(:seg,3600),60),'09') hh_mm_ss
4 from dual;
HH_MM_SS
---------
00 50 00
SQL>