Difference entre 2 timestamp

BenZouille
Invité n'ayant pas de compte PHPfrance

01 avr. 2005, 16:07

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

BenZouille
Invité n'ayant pas de compte PHPfrance

01 avr. 2005, 16:19

select * from table where now() - dateLimite >= 10 * 86400

dateLimite étant un champ de type timestamp

Mammouth du PHP | 859 Messages

01 avr. 2005, 16:20

C'est la solution?

Invité
Invité n'ayant pas de compte PHPfrance

01 avr. 2005, 16:40

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

Mammouth du PHP | 19672 Messages

01 avr. 2005, 16:52

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...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

BenZouille
Invité n'ayant pas de compte PHPfrance

01 avr. 2005, 17:05

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

Mammouth du PHP | 19672 Messages

04 avr. 2005, 09:01

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: