Как организовать хранение сезонного промежутка времени Mysql?

Стоить задача в mysql хранить записи по определенным промежуткам времени.

Например
period | data
Период с 01.01(01 - 1 дней; 01 - января) по 31.04 (31 - 31 дней; 04 - апрель) | данные
Период с 01.05 по 31.04 | данные

ну и т.д

В каком формате будет правильно сохранить period в базе данных mysql?

Период нужен, чтобы каждый последующий год применялись одни и те же данные. То, что вы предлагаете, приведет к постоянному обрезанию года, после чего придется еще высчитывать переход между годами, например если период будут 01.12 - 01.02. Что, на мой взгляд как-то не оптимально. Вот хотелось услышать ответ, как это это сделать оптимальнее, чтобы потом пришлось совершать поменьше действий.
  • Вопрос задан
  • 2821 просмотр
Пригласить эксперта
Ответы на вопрос 4
@Codebaker
Всё умею, всё могу!
create table periodic_data (
    period_from datetime,
    period_to datetime,
    data int);
Ответ написан
Комментировать
@BugIg Автор вопроса
Период нужен чтобы каждый последующий год применялись одни и те же данные. То что вы предлагает перевидят к постоянному обрезанию года, после чего придется еще высчитывать переход между годами, например если период будут 01.12 - 01.02. Что на мой взгляд как то не оптимально. Вот хотелось услышать ответ как это это сделать оптимальнее чтобы потом пришлось совершать поменьше действий.
Ответ написан
Комментировать
Mandor
@Mandor
Поле "месяц" и поле "день месяца" в двух экземплярах. Если вам не важны високосные года, то просто количество дней от начала года.

Всю логику попадания в промежуток и пересечения промежутков можно встроить в SQL.
Ответ написан
Комментировать
vasilyev
@vasilyev
php, 1c-bitrix
Если точка применения -- туры, не проще ли завести табличку сезонности, где поля типа: Название, дата начала, дата конца и т.д. и в основной таблице предложений указывать идентификатор этого сезона.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 18:27
200000 руб./за проект
26 апр. 2024, в 18:24
80000 руб./за проект
26 апр. 2024, в 18:00
500 руб./за проект