Page 1 sur 1

condition dans une requête ?

Posté : 14 févr. 2007, 07:05
par Neophyte
Bonjour,

J'ai une table avec notamment 2 champs :
exit_log (ex : 2007-02-12 17:29:46)
log (ex : 2007-02-12 17:28:46)

Dans la colonne exit_log, nous pouvons également avoir "0000-00-00 00:00:00". L'idée étant que si c'est 0, la différence devrait être 600 (soit 10 minutes).

Y a-t-il un moyen rapide d'avoir une telle condition directement dans la requête ci-dessous ? Ou bien faut-il nécessairement passer par l'intermédiaire de PHP ?

Code : Tout sélectionner

SELECT SUM((TIME_TO_SEC(exit_log) - TIME_TO_SEC(log))) AS total from tbl_log WHERE id_log='1'
Merci d'avance.

Posté : 19 févr. 2007, 11:51
par Ryle
Avec la syntaxe CASE de MySQL, tu peux effectivement gérer des conditions directement dans ta requête. Quelque chose du genre :

Code : Tout sélectionner

SELECT CASE WHEN champX = 0 THEN 600 ELSE champX - champY END FROM ...

Posté : 19 févr. 2007, 19:41
par Neophyte
Merci pour l'info !