|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : septembre 2007 Messages : 64 ![]() |
Bonjour,
J'ai une table "plans_maint" qui stocke des plans de maintenance relatifs à des matériels. Le champ "date_proch_maint" de cette table stocke la date de prochaine maintenance. Je souhaite interroger cette table pour savoir quels plans arrivent à échéance et doivent déclencher des tâches de maintenance. Evidemment c'est très simple sauf qu'intervient un nombre de jours (20 jours) avant échéance pour prévenir assez tôt les techniciens. Ma requête est la suivante : Code :
SELECT * FROM plans_maint WHERE (date_proch_maint-20)<now() Voilà j'espère être assez clair : comment faire la soustraction date_proch_main - 20 jours correctement pour la comparer à now() ? Merci d'avance pour votre aide |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Yannick Ingénieur Etudes & Developpements Inscription : février 2006 Messages : 1 125 ![]() |
Les joies de la GMAO !
Quel est le typage de votre colonne date_proch_maint ?
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac) |
|
|
10
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : septembre 2007 Messages : 64 ![]() |
Bonjour,
date_proch_maint est de type date au format YYYY-MM-DD. |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : septembre 2007 Messages : 64 ![]() |
En fait après de nouvelles recherches suite à ton message, puis en me plongeant dans mon code de gestion de session dont je me suis souvenu qu'il utilisait TIMEDIFF() pour voir quelles sessions effacer de la table sessions, j'ai trouvé l'instruction DATEDIFF()
Donc si je fais DATEDIFF(date_proch_maint, NOW()) j'ai le nombre de jours entre la date de la future maintenance et aujourd'hui. Je retranche mes jours : 20 jours si je souhaite être prévenu 20 jours avant : DATEDIFF(date_proch_maint, NOW()) - 20 Si c'est supérieur à 0 on fait rien sinon on déclenche une tâche de maintenance. Je crois que ça va marcher comme ça. Merci encore pour ton aide |
|
|
00
|
|
|
#5 | ||
|
Futur Membre du Club
![]() Inscription : septembre 2007 Messages : 64 ![]() |
Pour info voilà la requête finale :
Code :
J'ai donc comme résultat les plans de maintenance dont la date de prochaine maintenance arrive dans X jours (params.ech_maint) ou moins. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com