Я пытаюсь выполнить запрос в MYSQL, выбирая заказы, где дата created_at
находится между предыдущими 3:00 утра и следующими 3:00 утра.
Для пример: если я сделаю этот запрос на 2020-03-31 11:00:00
, он должен показать мне все ордера, где отметка времени created_at
находится между 2020-03-31 03:00:00
и 2020-04-01 03:00:00
.
Я пытался сделать это с помощью этот запрос:
select *
from "orders"
where "created_at" BETWEEN cast(curdate() as datetime) + interval 3 hour
and cast(curdate() as datetime) + interval 1 day + interval 3 hour
, но это не работает правильно, потому что, если я выполню этот запрос между 0:00 и 3:00 утра (например, в 2020-03-31 00:30:00
), он не будет отображаться что угодно, но это должно показать мне все порядки, где отметка времени created_at
находится между 2020-03-30 03:00:00
и 2020-03-31 03:00:00
.
Есть идеи, как это сделать? Я пытался найти решение в течение 2 часов, и я не смог найти правильный запрос для этого.