Abouportant
Messages postés13Date d'inscriptionmardi 30 octobre 2007StatutMembreDernière intervention 2 mars 2008
-
29 févr. 2008 à 15:43
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 2012
-
1 mars 2008 à 14:34
Bonjour quelqu'un pourrait m'aidé pour ma requete , je cherche a cumuler des durées mais dés que la durée dépasse 24H il ya un probléme
SELECT CDate(Sum(TempsPasse)) AS TempsTotal
FROM TempsPasse;
MasterCent
Messages postés83Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention14 décembre 20111 29 févr. 2008 à 16:08
Bien que la question n'a semble t-il pas sa place dans un forum PHP,
je tenterai d'y répondre, car le problème est générique.
Sans avoir plus de détail, je dirais que le problème vient de l'unité.
Quel est le type du champ ? DateTime ou Numérique ?
A quoi corrrespond 1 : un jour ou une minute ?
SI le champ est de type dateTime, (DateTime est différent de TimeStamp Unix : cfr strToDate() )
4:00 coresspond en réalité a 1/24*4 soit environ 0,1666
4:00 + 22:00 = 1/24*26, soit 1 jour et Deux heures, donc le 2 janvier 1900 2:00
Solution : convertir un temps 4:00 en 240 minutes par exemple... : = [TEMPSPASSE] * 24 * 60.
Si besoin, l'inverse est possible pour traduire la somme en un nombre d'heures ou de jour,
...
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 29 févr. 2008 à 16:24
Pourquoi ?
Parce que lors de l' opération inverse, si le nombre de minutes n' est pas rond, le reste de la division par 60 risque de poser problème. A moins d' y aller avec Partie Entière.
Je parle d' après ma propre expérience dans un prog de pointage ou il était question de capture de Time.(hh:mm:ss)
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
Abouportant
Messages postés13Date d'inscriptionmardi 30 octobre 2007StatutMembreDernière intervention 2 mars 2008 29 févr. 2008 à 21:34
Re bonsoir je ne comprend pas comment utiliser cela dans ma requete "= [TEMPSPASSE] * 24 * 60" pourrait tu me donner plus d'aide je débute dans les requetes SQL
Vous n’avez pas trouvé la réponse que vous recherchez ?
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 29 févr. 2008 à 21:48
Rebonsoir,
Avant d' attaquer l' e^pression de la requête, il faudra répondre
à la question de MasterCent.A savoir à quoi correspond ton
champ TEMPPASSE.
De quel type il est et quel format il a.
Un exemple concret serait le bien venu.
A+
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 1 mars 2008 à 12:33
Bonjour,
Trop court mais bon !
Essaies ceci:
SELECT Sum((Hour(TempsPasse)*60)+Minute(TempsPasse))) AS TempsTotal
FROM TempsPasse;
le champ calculé TempsTotal sera de type numérique.
et représentera le total des minutess.
A toi d' en extraire le nombre de jour, le nombre d' heure
et ce qui en reste de minute.
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 1 mars 2008 à 14:34
beh justement !
Tu ne peux pas avoir directement 34:50 parceque l' heure 34 n' existe pas.
Et ça sera pareil pour les minutes si tu as 34:83., par exemple.
Tu dois donc interprèter le résultat comme étant :34 heures et 83 minutes.Et non pas l' heure 34:83.
Et c' est ensuite que tu pourras traduire en 1 jour 11 heures
et 23 minutes.Si tu vois ce que je veux dire.
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>