Date entre deux dates en dépit de l'année

Résolu/Fermé
icygirl Messages postés 30 Date d'inscription samedi 15 octobre 2011 Statut Membre Dernière intervention 27 juillet 2012 - 30 mai 2012 à 10:14
icygirl Messages postés 30 Date d'inscription samedi 15 octobre 2011 Statut Membre Dernière intervention 27 juillet 2012 - 30 mai 2012 à 10:51
Bonjour,
Je veux verifier si une date est bien entre deux dates mais sans prendre en consideration l'année, exemple: 2010-11-24 se trouve entre les dates 2012-09-15 et 2012-1-15 meme si ce n'est pas la bonne année.
J'ai fait ceci

select * from date_trimestrielle,notes where date between concat("%-0",month(date_debut),"-",day(date_debut)) and concat("%-",month(date_fin),"-",day(date_fin))
mais ça ne retourne rien parcequ'il a besoin de la valeur exact.

parcontre si je fait select * from date_trimestrielle,notes where date like concat("%-0",month(date_debut),"-",day(date_debut))

des résultats sont retournés parceque j'utilise like.
Des idées? Merci :)


2 réponses

Utilisateur anonyme
30 mai 2012 à 10:34
L'idée de la première version me semble bonne, mais en effaçant tout simplement l'année.

(pas testé) :
select * from date_trimestrielle,notes where SUBSTR(date,5) between SUBSTR(date_debut,5) and SUBSTR(date_fin,5)


Même si l'intérêt de mélanger des trimestres d'années différentes m'échappe, mais là c'est toi qui connais ton problème...
1
icygirl Messages postés 30 Date d'inscription samedi 15 octobre 2011 Statut Membre Dernière intervention 27 juillet 2012 1
30 mai 2012 à 10:42
Merci beaucoup, j'aurait pas pensé que substr marcherait vu que c'est lié plutôt a des chaines de caractère que des dates.

pour ta remarque, c'est un system déja fonctionel avec des centaines de tables :s, je n'y peut rien....
0
De rien :)
MySQL sait bien faire les conversions de type... D'ailleurs, tu utilisais bien CONCAT sur des nombres dans ce que tu avais essayé, tu ne t'étais pas posé la question ?
0
icygirl Messages postés 30 Date d'inscription samedi 15 octobre 2011 Statut Membre Dernière intervention 27 juillet 2012 1
30 mai 2012 à 10:51
oui, je l'ai remarqué un peu plus tard :s, je ne sais pas ce qui me passait par la tête (je venais de me réveiller :p)
0