OVH Cloud OVH Cloud

ajout heure fractionnaire a un datetime

2 réponses
Avatar
Rahan
Salut a tous

je suis sous sql2000

j ai de nombreuses tables ou on gere des date (datetime)
et heures fractionnaires (decimal)
ex:
DateDebut HeureDebut
08/10/2004 17.00

c etait pas une tres bonne idee de discocie les 2 mais
bon ce choix a ete opte chez nous !!

j essaie de recomposer un datetime en faisant
datedebut+heuredebut/24
mais le pb c que le resultat me donne
08/10/2004 16:59:59.970 ett pas 17:00:00 !!!!
et ca me pose d enorme soucis pour la suite de mon appli

j ai essaye des round etc...mais j obtiens soit 17:02:00
ce qui est trop grand

y aurait il un autre moyen d obtenir mon nouvel objet
datetime ????????

A+

2 réponses

Avatar
Nicolas LETULLIER
SET NouvelleDate = DATEDEBUT + CONVERT(float, HeureDebut) / 24

Nicolas.


"Rahan" a écrit dans le message de
news: 072301c4ad35$64d88580$
Salut a tous

je suis sous sql2000

j ai de nombreuses tables ou on gere des date (datetime)
et heures fractionnaires (decimal)
ex:
DateDebut HeureDebut
08/10/2004 17.00

c etait pas une tres bonne idee de discocie les 2 mais
bon ce choix a ete opte chez nous !!

j essaie de recomposer un datetime en faisant
datedebut+heuredebut/24
mais le pb c que le resultat me donne
08/10/2004 16:59:59.970 ett pas 17:00:00 !!!!
et ca me pose d enorme soucis pour la suite de mon appli

j ai essaye des round etc...mais j obtiens soit 17:02:00
ce qui est trop grand

y aurait il un autre moyen d obtenir mon nouvel objet
datetime ????????

A+


Avatar
Fred BROUARD
en fait le DATETIME est un float avec partie entière = jour, partie décimale =
fraction de jurs sur 24 heures.

Donc :
CAST(DATE_DEBUT AS FLOAT) + CAST(HEURE_DEBUT AS FLOAT) / 24.0

A +

Rahan a écrit:
Salut a tous

je suis sous sql2000

j ai de nombreuses tables ou on gere des date (datetime)
et heures fractionnaires (decimal)
ex:
DateDebut HeureDebut
08/10/2004 17.00

c etait pas une tres bonne idee de discocie les 2 mais
bon ce choix a ete opte chez nous !!

j essaie de recomposer un datetime en faisant
datedebut+heuredebut/24
mais le pb c que le resultat me donne
08/10/2004 16:59:59.970 ett pas 17:00:00 !!!!
et ca me pose d enorme soucis pour la suite de mon appli

j ai essaye des round etc...mais j obtiens soit 17:02:00
ce qui est trop grand

y aurait il un autre moyen d obtenir mon nouvel objet
datetime ????????

A+



--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************