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..