Je me rends compte qu'il est pas intelligent du tout, ni la chaîne de format spécial que vous cherchez, mais cette réponse fonctionne, étant donné que la sortie est longueur fixe:
SELECT SUBSTR(TO_CHAR(NVL(arg1 - arg2, TO_DSINTERVAL('0 00:00:00'))), 1, 1)
|| SUBSTR(TO_CHAR(NVL(arg1 - arg2, TO_DSINTERVAL('0 00:00:00'))), 9, 2)
|| ' '
|| SUBSTR(TO_CHAR(NVL(arg1 - arg2, TO_DSINTERVAL('0 00:00:00'))), 12, 12)
FROM table1;
Il a également juste tronque les secondes fractionnaires au lieu d'arrondir, mais je suppose de votre exemple, ils sont tous juste des zéros de toute façon.
Ceci est encore plus d'embarras, mais je ne pouvais pas résister:
SELECT SUBSTR(REPLACE(TO_CHAR(NVL(arg1 - arg2, TO_DSINTERVAL('0 00:00:00')))
, '0000000', '')
, 1, 16)
FROM table1;
votre deuxième proposition fonctionne bien! aussi avec HQL. Merci beaucoup pour votre aide! –