Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql :vérifier la plage de dates

Abandonnez cette structure et utilisez des champs de date natifs :

id start_date  end_date
1  2012-12-22  2013-1-25

alors vous pouvez utiliser les fonctions de date/heure mysql natives et les comparaisons, par exemple

SELECT id WHERE yourdate BETWEEN start_date AND end_date

au lieu d'avoir à utiliser des comparaisons à plusieurs niveaux affreusement laides pour comparer correctement de telles valeurs fragmentées :

SELECT id where YEAR(yourdate) < startYear OR (YEAR(yourdate) > startYear AND MONTH(yourdate) < startMOnth) etc... etc....etc..