Oui je sais, je remonte un topic antédiluvien, mais j'ai eu à peu près le même besoin et ce topic ressort dans les premiers résultat de Google et est sans réponse. La voici, si ça peut servir à quelqu'un :
SELECT NUMTODSINTERVAL(3662, 'SECOND'), SUBSTR(TO_CHAR(NUMTODSINTERVAL(3662, 'SECOND')), 12, 8) FROM dual;