Я пытался решить эту проблему в течение нескольких часов, пока что я достиг что-то вроде этого:
SELECT * FROM mytable WHERE DATE(datetime_column)
BETWEEN DATE_SUB(DATE_FORMAT(NOW(),'%Y-%M-01'),INTERVAL 1 DAY) AND NOW()
AND HOUR(datetime_column) > = '13'
ORDER BY
datetime_column
Помимо дневного интервала, мне также нужен часовой интервал, который должен быть между 13 ч. вечера последнего дня последнего месяца и до полудня для текущей даты.
Кажется, что скрипта не работает с текущим запросом, но работает в моей базе данных, но проверьте скрипку для получения дополнительной информации:
https://www.db-fiddle.com/f/a3jui7aPMevU81Cka4BqXg/0
И образцы данных:
CREATE TABLE mytable (
id INT,
datetime_column DATETIME
);
INSERT INTO mytable (id,datetime_column) VALUES
(1,'2020-03-31 08:00:00'),
(2,'2020-03-31 13:00:00'),
(3,'2020-04-02 14:30:00'),
(4,'2020-04-06 18:00:00'),
(5,'2020-04-21 05:00:00'),
(6,'2020-04-23 13:00:00'),
(7,'2020-04-23 14:00:00');
Если необходима дополнительная информация, пожалуйста, дайте мне знать.