お店が現在営業時間内にあるかどうかを調べようとしています。そうでない場合は、次回の営業時間を選択します。
最後に、開始日を特定の日付として設定できるようにする必要があります。
誰かがこのクエリを作成する方法を教えてもらえますか?
前もって感謝します
CREATE TABLE `shop_hours` (
`id` int(11) NOT NULL,
`shop_id` int(11) unsigned NOT NULL,
`day_of_week` int(11) unsigned NOT NULL,
`open_time` time NOT NULL,
`close_time` time NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `shop_hours` (`id`, `shop_id`, `day_of_week`, `open_time`, `close_time`)
VALUES
(1, 1, 0, '08:00:00', '24:00:00'),
(2, 1, 1, '08:00:00', '24:00:00'),
(3, 1, 2, '08:00:00', '24:00:00'),
(4, 1, 3, '08:00:00', '24:00:00'),
(5, 1, 4, '08:00:00', '24:00:00'),
(6, 1, 5, '08:00:00', '24:00:00'),
(7, 1, 6, '08:00:00', '24:00:00');
編集:
少し明確にするために、私は開いている店を探しているのではなく、特定の店の営業時間のみを探しています。開店時間と閉店時間、および現在の時刻に基づきます。15 分刻みの選択可能なタイムスタンプをいくつか生成します。
たとえば、店が閉店したばかり (午後 1 時) の場合、代わりに次の開店日の開店/閉店時間を使用する必要があります。(お店は毎日開いているとは限りません。日曜定休の場合もあります)。