У меня есть таблица базы данных, в которой хранятся часы работы магазина в виде временного диапазона в формате TIME. Например, если часы работы магазина «9 утра-5 вечера», будет 2 столбца «hours_open» и «hours_close», где я храню 9:00 в «hours_open» и 17:00 в «hours_close». Чтобы определить, открыт ли магазин в данный момент или нет, я выполню запрос:
SELECT *
FROM shop
WHERE CAST(NOW() AS TIME) BETWEEN hours_open AND hours_close;
Что мне нужно сделать сейчас, так это разместить магазины с часами работы, которые открываются после полуночи, например, с 9:00 до 3:00. Кроме того, магазины могут иметь разные часы работы в разные дни, например: понедельник-четверг: 9 вечера - 3 часа ночи, пт-вс: 9 вечера - 5 утра.
Теперь я в тупике. Как мне поступить? У меня может быть пара 'hours_open' и 'hours_close' для каждого дня, например: 'mon_hours_open', 'mon_hours_close', 'tue_hours_open', 'tue_hours_close' ...
Но как мне обращаться с часами работы, которые идут после полуночи, например с 9 вечера до 5 утра?
Есть идеи? Я использую PHP с каркасом Codeigniter, если это поможет.