Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/08/2011, 17h09   #1
Invité régulier
 
Inscription : septembre 2007
Messages : 30
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 30
Points : 8
Points : 8
Par défaut Différence de 2 datetime et conversion

Bonjour,

J'ai une table article avec un champ DateCreate et Duree. Quand on ajoute la durée à la date de création on obtient la date d'expiration, cette date d'expiration je la compare avec avec la date actuelle pour voir si mon article est expiré ou pas.

Ça fonctionne de cette manière et ça me permet de voir si mon annonce est expirée ou pas :

Code :
SELECT ADDDATE(DateInsert, INTERVAL Duree DAY) - now()) FROM article
Où le bas blesse, c'est que je croyais que la différence était une valeur en secondes et ainsi j'aurais pu obtenir le délai d'expiration qu'il reste mais pas du tout

Est-ce que quelqu'un aurait une idée du type de ma valeur de retour et comment je pourrais convertir ou obtenir une différence en secondes ou en quelque chose de rationnel ?

Merci d'avance.
flagodzki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 08h40   #2
Membre Expert
 
Inscription : mars 2005
Messages : 1 565
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2005
Messages : 1 565
Points : 2 178
Points : 2 178
Votre requête ne peut déjà pas s'exécuter car vous avez une parenthèse fermante en trop.
vmolines est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 11h09   #3
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
Pour avoir une différence en secondes entre deux dates, un moyen simple est de soustraire les résultats de UNIX_TIMESTAMP() appliqués aux deux dates.
Par exemple
Code :
1
2
3
4
5
6
 SELECT unix_timestamp(adddate(now(), interval 2 day)) - unix_timestamp(now()) AS d;
+--------+
| d      |
+--------+
| 172800 |
+--------+
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 13h22   #4
Invité régulier
 
Inscription : septembre 2007
Messages : 30
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 30
Points : 8
Points : 8
Super, un grand merci
flagodzki est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h31.


 
 
 
 
Partenaires

Hébergement Web