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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Requet SQL] Avec des dates....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Requet SQL] Avec des dates....

n°981098
simoes
Posté le 14-02-2005 à 15:15:49  profilanswer
 

Voila mon problème:
 
J'ain sotcker dans un Bd, un evenement. Cet evenement à une date de début et un date de fin. Ca c'est ok
 
Ensuite j'ai un calendrier qui affiche un mois entier. Ca aussi c'est ok...
 
Le problème, c'est que j'aimerai pouvoir récupérer tout les évennement du mois en cours... C'est mon problème...
 
J'ai cela comme requete:

Code :
  1. SELECT * FROM sessions WHERE (MONTH(dateDeb)='$mois' AND YEAR(dateDeb)='$annee')


 
Mais si il y a un évenement qui se commence, disons au mois de novembre de l'année d'avant, ou il fini au moi de mars de l'année suivante, il ne sera pas afficher. Merci de m'aider...


---------------
Donne un poisson à un homme il mangera une journée, Apprends lui à pêcher, il mangera toute sa vie...
mood
Publicité
Posté le 14-02-2005 à 15:15:49  profilanswer
 

n°981172
rompi
Posté le 14-02-2005 à 16:00:43  profilanswer
 

simoes a écrit :


Mais si il y a un évenement qui se commence, disons au mois de novembre de l'année d'avant, ou il fini au moi de mars de l'année suivante, il ne sera pas afficher. Merci de m'aider...


 
 
Je pense que tu n'as pas été assez clair sur ce point simoes
Tu peux e ndire d'avantage ?

n°981178
Fred999
Rabat-joie
Posté le 14-02-2005 à 16:03:59  profilanswer
 

Visiblement, si un événement créé il y a disons six mois est encore en cours, il ne l'affiche pas.
 
AMHA c'est sur la date de fin qu'il faut faire la requête.
 
Mais c'est pas très clair.

n°981363
moi23372
Posté le 14-02-2005 à 18:19:55  profilanswer
 

SELECT *  
FROM sessions  
WHERE ((MONTH(dateDeb)='$mois' AND YEAR(dateDeb)='$annee')
OR
(MONTH(dateFin)='$mois' AND YEAR(dateFin)='$annee'));
 
ça devrait résoudre ton problème si tu te bases sur les deux dates, enfin si j'ai bien compris ton problème.

n°982058
simoes
Posté le 15-02-2005 à 12:05:53  profilanswer
 

Merci moi23372, C'est presque cela... Un seul problème c'est que si un évenement commence au mois de décembre et fini en février, cela ne fonctionne pas...


---------------
Donne un poisson à un homme il mangera une journée, Apprends lui à pêcher, il mangera toute sa vie...
n°982219
Fred999
Rabat-joie
Posté le 15-02-2005 à 14:36:57  profilanswer
 

Ha oké.
 
where date_courante between dateDeb and isnull(dateFin, date_courante)
 
Et là ça devrait marcher.
 
C'est du pseudo-code, date_courante sous Sybase c'est getdate(), sous Oracle je sais plus.
 
Isnull dans d'autres langages ça peut être IFnull, cf. ta doc :o


Message édité par Fred999 le 15-02-2005 à 14:37:54
n°982460
skeye
Posté le 15-02-2005 à 16:43:52  profilanswer
 

Fred999 a écrit :


C'est du pseudo-code, date_courante sous Sybase c'est getdate(), sous Oracle je sais plus.


sysdate().
Et oui à priori un bête between doit faire le travail sans problèmes.


---------------
Can't buy what I want because it's free -
n°982680
moi23372
Posté le 15-02-2005 à 19:52:20  profilanswer
 

sous Oracle
 
avant version 9 => Sysdate
a partir de version 9 => Sysdate ou CurrentDate (CurrentDate est la norme SQL2)


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

  [Requet SQL] Avec des dates....

 

Sujets relatifs
Comment migrer une base de SQL Server 2000 vers MySQL???[SQL Server] base de données réparties, comment faire ?
[Bash] comparer 2 datesRequete SQL
Logiciels gratuits pour bases de données SQLVB6 + SQL
probleme de test sur une valeur sortie d'une requete SQLrequête SQL dans value d'une zone texte?
Access et SQL[SQL Server] Drop primary key
Plus de sujets relatifs à : [Requet SQL] Avec des dates....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR