У меня есть записи в моей таблице, такие как
uid / start / end / value
Теперь я хочу выбрать все записи, которые лежат в определенном месяце.Поэтому, если пользователь выбирает «Июнь», я хочу получить все записи, которые доступны в июне.Начало и конец сохраняются как метка времени (не могу изменить это).Я нашел что-то вроде:
WHERE month(start)=5
Это работает, но, к сожалению, дает только записи, которые начинаются в июне.Я могу, конечно, добавить то же самое для конца, но это все равно не поможет, если запись начинается в мае и заканчивается в июле.Конечно, я мог бы рассчитывать временные метки и сравнивать напрямую, но я хочу выбрать его для июня любого года, а не только для одного конкретного.Я думал о чем-то вроде:
WHERE month(start) <= 5 && month(end) >= 5
, который отлично работал бы с метками времени, но, очевидно, это имеет проблему с перерывами на год.
Есть ли хорошее решение сделать это без расчетавсе временные метки на следующие годы и создание больного большого запроса?