sql >> Base de Datos >  >> RDS >> Mysql

mysql:comprobar rango de fechas

Deshazte de esta estructura y usa campos de fecha nativos:

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

entonces puede usar las funciones y comparaciones nativas de fecha/hora de mysql, por ejemplo,

SELECT id WHERE yourdate BETWEEN start_date AND end_date

en lugar de tener que usar comparaciones de niveles múltiples horriblemente desagradables para comparar adecuadamente estos valores fragmentados:

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