Page 1 sur 1

Difference entre 2 timestamp

Posté : 01 avr. 2005, 16:07
par BenZouille
bonjour,

J'ai dans ma table un champ de type timestamp.
Je souhairera a travers une requete sql recuperer toutes mes lignes dont le timestamp est > 10 jours par exemple.

Merci

PS : timestamp de type 20050325123008

J'ai peut etre trouvé

Posté : 01 avr. 2005, 16:19
par BenZouille
select * from table where now() - dateLimite >= 10 * 86400

dateLimite étant un champ de type timestamp

Posté : 01 avr. 2005, 16:20
par flitox
C'est la solution?

Posté : 01 avr. 2005, 16:40
par Invité
snif :(
cela n'a pas l'air d'être bon.

voila ma requete :
SELECT now( ) , defintren_timestamp, (now( ) - defintren_timestamp) /86400 AS jour FROM `defis_interne_rencontres`

et cela me retourne
2005-04-01 16:25:04 | 20050325095649 | 880.40

Hors on peut voir que je devrais obtenir 7 au lieu de 880

Merci

Posté : 01 avr. 2005, 16:52
par Cyrano
Sauf erreur de mes sens abusés, il y a confusion entre deux types de données : la fonction SQL now() rentourne une donnée de type DATETIME alors que TIMESTAMP est un nombre de secondes, pas une date, comparer les deux, c'est comme comparer une voiture de sport et un sac de patates... il n'y a qu'un très très très .... très lointain rapport entre les deux (si, quand on se sert du premier pour porter le second)
Donc, il faudrait transformer la date correspondant à now() en timestamp pour ensuite chercher dans le champ correspondant une valeur inférieure à timestamp - (10 * 24 * 60 * 60) ou qqch de ce style...

Posté : 01 avr. 2005, 17:05
par BenZouille
Effectivement, il ne parrait pas possible de comparer avec la fonction now()

N'y a t'il pas de méthode par requete SQL ?

merci

Posté : 04 avr. 2005, 09:01
par Cyrano
Par requête SQL, je ne vois pas, la solution consiste à le faire par programmation et à formulaer une requête ensuite: programmation pour convertir l'instant présent en timestamp et faire une requête avec ça pour comparer avec ce qui est enregistré comme timestamp dans ta base.