Bonjour,
Base : Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit
Dans une table j'ai 4 champs de type Date :
MH_DDEB - Date de début - toujours renseignée exemple 02/01/2006
MH_HDEB - Heure de début - toujours renseignée exemple 01/01/1900 12:10:00
MH_DFIN - Date de fin - null ou renseignée exemple 10/01/2006
MH_HFIN - Heure de fin - null ou renseignée exemple 01/01/1900 13:46:00
Evidemment, je cherche à obtenir une DateHeure de début et de fin dans deux nouveaux champs
DateHeure de début pas de problème :
DateHeure de fin avec gestion de null avec un decode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 to_date((to_char(MH_DDEB,'yyyymmdd')||' '|| to_char(MH_HDEB,'hh24:mi:ss')),'yyyymmdd hh24:mi:ss') as DH_DEB
Mon problème : impossible de récupérer avec les champs comportant des null la partie Time lorsqu'elle est renseignée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 decode(MH_DFIN, null, null, to_date((to_char(MH_DFIN,'yyyymmdd')||' '|| to_char(MH_HFIN,'hh24:mi:ss')),'yyyymmdd hh24:mi:ss')) as DH_FIN
Pour un événement donné (voici en ligne pour faciliter la lecture) les résultats obtenus :
EVENEMENT 105017079
Avec les données de début j'obtiens ce que je veux :
MH_DDEB 02/01/2006
MH_HDEB 01/01/1900 12:10:00
DH_DEB 02/01/2006 12:10:00
Pas avec les données de fin :
MH_DFIN 10/01/2006
MH_HFIN 01/01/1900 13:46:00
DH_FIN 10/01/06
Partager