Page 1 sur 1
additionner des heures
Posté : 28 nov. 2006, 08:58
par fila
Bonjour !
Je voudrais faire la somme de 2 heures sous mysql car plus facile et plus rapide comme exemple dans la fenetre d'execution de requete de phpMyadmin :
select addtime (1:30:00, 1:30:00) cela me renvoie bien 03:00:00 là pas de pb.Mais quand je veux utiliser mes champs :
je fais cela select addtime ('tps1', 'tps2') AS tps3 celane marche pas.Je ne vois pas mon erreur.On peut transposer ADDTIME sous php ?
Merci par avance
Posté : 28 nov. 2006, 09:12
par Ajoloca
Bonjour,
Tes champs sont de quel type ?
Quelle valeur contiennet-ils?
Posté : 28 nov. 2006, 09:27
par fila
Bonjour !
mes champs sont de type time , ils contiennent des temps style par ex :
01:21:32
Merci par avance
Posté : 28 nov. 2006, 09:37
par Ajoloca
Re,
Est tu sur de ça ?
Je viens de faire un essai, voici ce que j'obtiens
Code : Tout sélectionner
mysql> create table temps(
-> heure1 time,
-> heure2 time);
Query OK, 0 rows affected (0.04 sec)
mysql> insert into temps values ('01:01:01', '02:02:02');
Query OK, 1 row affected (0.02 sec)
mysql> select addtime(heure1, heure2) heure3 from temps;
+----------+
| heure3 |
+----------+
| 03:03:03 |
+----------+
1 row in set (0.04 sec)
Posté : 28 nov. 2006, 10:00
par zeus
Lorsque tu met des champs dans une requete, tu peut utiliser des caractères d'encadrements mais ceux si sont ` (altGr+7) et pas '
Alors essaye cette requete
ou, comme tes champs ne contiennent aucun espaces, comme la requete d'
Ajoloca
Posté : 28 nov. 2006, 10:03
par Ajoloca
Lorsque tu met des champs dans une requete, tu peut utiliser des caractères d'encadrements mais ceux si sont ` (altGr+7) et pas '
Alors essaye cette requete
ou, comme tes champs ne contiennent aucun espaces, comme la requete d'
Ajoloca
Bien vu pour les apostrophes

Posté : 28 nov. 2006, 15:43
par fila
merci de vos reponses!
j'ai tout essaye (altgr+7) toute la syntaxe que vous me proposez,cela me renvoie erreur de syntaxe.
A+
Posté : 28 nov. 2006, 15:48
par Ajoloca
Re,
Poste ta requête, l'erreur et un select normal de tes deux colonnes.
Posté : 28 nov. 2006, 15:58
par fila
voila ceque je fais :
SELECT ADDTIME (`T1` , `T2`) AS `TT`
le retour:
#1064 - Erreur de syntaxe pr�s de '(`T1` , `T2`) AS `TT`' � la ligne 1
Merci
Posté : 28 nov. 2006, 16:04
par Ajoloca
Re,
Poste ta requête, l'erreur et un select normal de tes deux colonnes.
Là tu ne me dommes pas grande chose, mais bon déjà il-y-a une erreur, essaie ça
Posté : 28 nov. 2006, 17:16
par zeus
Je ne suis pas sûr mais enlève l'espace entre "ADDTIME" et "("

Posté : 28 nov. 2006, 17:50
par fila
C 'est bon ! cela marche select addtime.....from clt2
Quel nul je suis !
Merci pour votre aide
Posté : 28 nov. 2006, 18:04
par sadeq
Permettez moi d'intervenir mais je trouve ça pas normal du tout : Le fait d'additionner deux temps.
Car logiquement un champ time fait constat d'un temps et non une durée
et donc additionner des temps ne veut rien dire par contre ajouter une durée à un temps de départ ou soustraire un temps d'un autre pour obtenir une durée c'est logique.
Par exemple :
Quand on dit :
- il est '10:00:00' n'est qu'un constat de temps
de même, il est 11:00:00 est un deuxième constat de temps
Le fait d'additionner les 2 temps '10:00:00' et '11:00:00' ce qui donne effectivement '21:00:00' ne veut rien dire.
Mais si l'on ajoute 2 heures à l'heure constatée à '10:00:00' celà donne significativement l'heure '12:00:00'
Ou si l'on fait la différence entre un temps constaté à '11:00:00' et un autre déjà constaté à '10:00:00' cela donne logiquement la durée 1 heure (et non pas un temps 01:00:00 qui est lu : une heure du matin)
Donc la relation entre les temps est une durée exprimée en nombre et non en temps.
N'est-ce pas les gars

[resolu]
Posté : 28 nov. 2006, 18:35
par fila
salut !
Oh P.......Je suis un peu fatigué je viens de metaper 50 kms de vtt sous la flotte mais bon ! J'ai plutot de la chance Bref ceci dit,
Pour l'addition de 2 "temps"en fait qui correspondent a 2 durées de 2 épreuves donc en fait le libellé exact est "duree". On utilise plus "temps" en sport,c'est pour cela que j'ai dit temps. On ne compte pas l'heure de depart. soit dit en passant ce que tu as ecrit est tres interessant et fort logique
A+