Différence en jours entre deux dates

Petit nouveau ! | 9 Messages

27 mai 2005, 15:29

Bonjour !

Dans ma requête, j'aimerais sélectionner les enregistrements dont la différence entre la date de fin et la date du jour est inférieure ou égale à 30 :

Code : Tout sélectionner

SELECT * FROM abo_simple, client WHERE id_client = num_client AND TO_DAYS(date_fin) - TO_DAYS(NOW()) <= 30 ORDER BY id_client, raison_sociale, nom, prenom
Or tous les enregistrements datant du jour "30 ..." sortent ...

Si je fais :

Code : Tout sélectionner

SELECT * FROM abo_simple, CLIENT WHERE id_client = num_client AND ( DATEDIFF(date_fin, NOW()) ) <=30 ORDER BY id_client, raison_sociale, nom, prenom
Cela ne me sort pas les bons enregistrements...

Comment résoudre ce problème ?

Merci d'avance.

Eléphant du PHP | 200 Messages

27 mai 2005, 15:52

Code : Tout sélectionner

AND TO_DAYS(NOW()) - TO_DAYS(champs_date) <= 30
par exemple
Univers divided by 0 - cucumber error - reboot

Petit nouveau ! | 9 Messages

27 mai 2005, 16:01

Cela me retourne l'enregistrement qui contient la date : 2005-12-31.

Donc cela est faux...

Mammouth du PHP | 1885 Messages

31 mai 2005, 04:33

Code : Tout sélectionner

SELECT * FROM abo_simple, client WHERE id_client = num_client AND DATEDIFF(NOW(),date_fin) <= 30 ORDER BY id_client, raison_sociale, nom, prenom
Malgré que je doute un peu de la syntaxe générale de ta requête puisque tu semble utiliser deux tables à la fois... Ne devrais-tu pas indiquer à quelle table appartient chacun des champs spécifiés?

;)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP