[mysql] problèmes de date
Hello
Dans ma table sql j'ai un champ dateDebut et dateFin.
Tout en le faisant en sql, j' aimerais trouver si cette intervalle est compris entre dateRechercheDebut et dateRechercheFin
par ex:
WHERE 'dateDebut' >=UNIX_TIMESTAMP('2010-3-18 00:00:00') AND 'dateDebut' <=UNIX_TIMESTAMP('2010-3-18 23:59:59')
Si je fait cela, je peux effectivement trier si dateDebut ce trouve dans l intervalle des dates
" >= <= "
mais en admettant que ma date de début soit le 1-01-2010 et celle de fin 7-01-2010
il me faut aussi les enregistrements du 2-01-2010, 3-01-2010 etc...
Merci d'avance
salut,
a tu essayé beetwen ?
ex : champ1 beetwen 28 and 82
@+
Il en faut peu pour être heureux !!!!!
cela fonctionne, mais je n'ai pas de difficultés à vérifier si la valeur de date d'un champ est contenu entre deux dates. Mais vraiment des dates de champ1 et champ2 contenu entre date1 et date2
(champ1 interval champ2) beetwen XX and YY
Typiquement pour un blog si on veut afficher les articles qui ont été valides durant un laps de temps X - Y.
peut tu nous montrer le create table de la table en question ?
si tu souhaite avoir les dates durant un intervalle ça devrais fonctionner.
@+
Il en faut peu pour être heureux !!!!!
mes ce sont les timestamp de dateDebut et dateFin qui sont enregistré dans ma db.
faire la recherche du where que j'ai mis en exemple fonctionne parfaitement, mais est limitée a "si dateDebut et contenu entre les deux dates".
Or que moi je cherche plutôt cela:
"si l'interval dateDebut et dateFin et contenu entre les deux dates".
Il te faut faire plusieurs conditions dans ton WHERE, tu n'as pas le choix.
Liste tous les cas possibles de chevauchement de dates, et traduis les en SQL.
PS : tu aurais pu stocker tes dates au format DATETIME, ca t'aurait éviter des conversions (meme si je suis d'accord mysql les stocke en interne avec un timstamp).
en gros tu veut savoir si les deux date de la table sont dans l'interval
donc
si dateDebut et Datefin sont supérieur à date1 ET inférieur à date2
docn ajouter la condition sur date fin dans la requete soit deux fois ce que tu a mis !
@+
Il en faut peu pour être heureux !!!!!
ppff je suis trop lent me suis fait gratter :)
Il en faut peu pour être heureux !!!!!
Effectivement cela aurai été plus simple a comprendre si j avais mis cela: je cherche a savoir si au moin une des date dans l'interval dateDebut et dateFin ce trouve dans l interval 10.3.2010 au 21.3.2010
PAr contre, lister tout les cas possibles comme je ne les connais pas a l'avance me parait difficile surtout que je suis un peu tétu et que je ne veux pas utilisé de boucle en
php...
Merci quand meme du temps que vous m'avez consacré bonne journée
Ben y'en as pas 50 des cas possibles.
Si j'ai bien compris, tu en as 4 :
1) date_debut et date_fin sont dans l'intervalle
2) date_debut est avant le début de l'intervalle et date_fin est après la fin de l'intervalle
3) date_debut est avant le début de l'intervalle et date_fin est avant la fin de l'intervalle
4) date_debut est après le debut de l'intervalle et date_fin est après la fin de l'intervalle