Différence en jours entre deux dates

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Différence en jours entre deux dates

par Xenon_54 » 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?

;)

par navis84 » 27 mai 2005, 16:01

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

Donc cela est faux...

par demipoulp » 27 mai 2005, 15:52

Code : Tout sélectionner

AND TO_DAYS(NOW()) - TO_DAYS(champs_date) <= 30
par exemple

Différence en jours entre deux dates

par navis84 » 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.