【发布时间】:2011-09-08 10:28:08
【问题描述】:
我有一个数据库表,将商店的营业时间存储为 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 点到凌晨 3 点。此外,商店在不同的日子可能有不同的营业时间,例如:周一至周四:晚上 9 点至凌晨 3 点,周五至周日:晚上 9 点至凌晨 5 点。
现在我被难住了。我应该如何进行?我每天可以有一对“hours_open”和“hours_close”,例如:“mon_hours_open”、“mon_hours_close”、“tue_hours_open”、“tue_hours_close”……
但是我该如何处理超过午夜的营业时间,例如晚上 9 点到凌晨 5 点?
有什么见解吗?如果有帮助,我正在使用 PHP 和 Codeigniter 框架。
【问题讨论】:
标签: php mysql sql codeigniter time