Bonjour,

J'ai une table qui contient, au format VARHCAR2(4) deux colonnes HEUDEB et HEUFIN, correspondant à des heures, au format HH24MI : "1621" pour 16h21

Je souhaite afficher au format "HH24:MI" l'intervalle entre les deux heures.

J'ai donc procédé comme suit :

Conversion en DATE :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
to_date(u.heudeb, 'HH24MI')
et
to_date(u.heufin, 'HH24MI')
=> Ça marche sans problème.

Soustraction pour trouver l'intervalle en fraction de jour :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
to_date(u.heufin, 'HH24MI') - to_date(u.heudeb, 'HH24MI')
=> Ça marche sans problème.

Tentative pour afficher le résultat en format lisible :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
to_char(to_date(u.heufin, 'HH24MI') - to_date(u.heudeb, 'HH24MI'), 'HH24:MI')
=> J'obtiens l'erreur suivante :
ORA-01481: invalid number format model
01481. 00000 - "invalid number format model"
*Cause: The user is attempting to either convert a number to a string
via TO_CHAR or a string to a number via TO_NUMBER and has
supplied an invalid number format model parameter.
*Action: Consult your manual.
J'imagine que c'est la tentative de convertir un NUMBER en CHAR avec un pattern DATE qui ne lui convient pas... Mais comment on fait ?