Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4750 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Between ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Between ???

n°1445955
freed102
Arayashiki
Posté le 21-09-2006 à 18:37:05  profilanswer
 

Bonjour,  
 
une petite question...
je fais un calendrier... avec des evenements...
 
je fais une requete qui affiche les évenements entre une date et un autre... jusque là ça marche tres bien...
 
mais je suis tombé sur un cas particulier, je m'explique avec des exemples:
 
avec un "SELECT * FROM calendrier WHERE date BETWEEN 'date1' AND 'date2'"
 
dans le cas ou :
 
date1=01/09/2006 et date2=30/09/2006
 
... il me retourne tous les évenements qui commencent entre le 01/09/2006 et qui se terminent avant le 30/09/2006...
 
mais là j'ai un cas particulier ou je mets un evemement qui a comme dates : du 25/09/2006 au 04/10/2006
 
mais je ne veux afficher que le mois d'octobre, c'est à dire du 01/10/2006 au 31/10/2006...
 
dans mon cas... mon tableau est vide.. car dans ma requete.. ma période (25/09/2006 - 04/10/2006) n'est pas comprise entre le 01/10/2006 et le 31/10/2006...
 
quelle requete me conseillez vous dans ce cas là ?? j'aimerai qu'il me retourne les 4 premiers jours d'octobre... ce qui me parait inévitable !
 
une astuce ? un conseil ?
 
Merci d'avance
 
Freed
 

mood
Publicité
Posté le 21-09-2006 à 18:37:05  profilanswer
 

n°1446001
titouf02
Posté le 21-09-2006 à 21:24:42  profilanswer
 

Comment tu peux avoir DATE = 25/09/2006 et en même temps DATE = 04/10/2006 ... Tu n'as pas des dates de début et de fin d'évènement.
Décrit un peu tes tables, pour avoir un meilleur aperçu, stp

n°1446112
MagicBuzz
Posté le 22-09-2006 à 10:20:51  profilanswer
 

si c'est pour un mois entier :
 
month(1° jour du mois que je veux afficher) between month(datdeb) and month(dadfin)

n°1446151
omega2
Posté le 22-09-2006 à 11:02:05  profilanswer
 

si tu veux aussi ceux qui sont a cheval entre deux dates et que t'as la date de début dans une colonne et la date de fin dans une autre, alors utilise un "OR" au lieu d'un "AND".

n°1446210
MagicBuzz
Posté le 22-09-2006 à 12:14:58  profilanswer
 

me coup du mois est plus pratique je trouve (bon, évidement, ça marche pour 1 an, un mois, une semaine ou un jour, mais pas 3 mois par exemple)
ps: bien filtrer sur l'année aussi sous peine d'avoir aussi les trucs des années d'avat pour le même mois :whistle: :)

n°1447175
freed102
Arayashiki
Posté le 25-09-2006 à 15:23:08  profilanswer
 

la bonne réponse etait :
 
[...] AND (re.re_date_activation BETWEEN '$date_debut' AND '$date_fin' OR re.re_date_peremption  BETWEEN '$date_debut' AND '$date_fin')
 
:jap:

n°1447178
MagicBuzz
Posté le 25-09-2006 à 15:31:11  profilanswer
 

freed102 a écrit :

la bonne réponse etait :
 
[...] AND (re.re_date_activation BETWEEN '$date_debut' AND '$date_fin' OR re.re_date_peremption  BETWEEN '$date_debut' AND '$date_fin')
 
:jap:


 
ça suffit pas :p  
que ce passe-t-il si tu veux récupérer les évènements qui se passent au mois d'octobre, et que tu en as un du 30/09 au 01/11 ?
 
il faut faire :
 


[...] AND (re.re_date_activation BETWEEN '$date_debut' AND '$date_fin' OR re.re_date_peremption  BETWEEN '$date_debut' AND '$date_fin' or (re.re_date_activation < '$date_debut' and re.re_date_peremption > '$date_fin'))


 
Ca devient un peu usine à gaz :p
 
ceci dit, mon histoire de month (après réflexion, vivi ça m'arrive) déconne quand on arrive à un changement d'année... du coup faut faire des traîtements à la con pas forcément plus heureux que cette requête donc après-tout...


Message édité par MagicBuzz le 25-09-2006 à 15:32:14

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Between ???

 

Sujets relatifs
[ RESOLU ] BETWEENBetween sur un Alias ?
BETWEEN vs LIMITpb de date avec BETWEEN
[MySQL] comment faire avec un between... [ - Job's Done - ][MYSQL] Problème avec un Between...... ASSEZ URGENT SVP
SQL : format de date : between date and dateSQL : requete a 2 balles avec BETWEEN
Plus de sujets relatifs à : Between ???


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)