У меня есть следующие базы данныхПолучить записи между двумя датами с перекрытием временных интервалов
CREATE TABLE `table` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`time` bigint(20) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`messages` varchar(2000) NOT NULL,
PRIMARY KEY (`id`)
)
INSERT INTO `table` VALUES (1,1467311473,"Jim", "Jim wants a book"),
(2,1467226792,"Tyler", "Tyler wants a book"),
(3,1467336672,"Phil", "Phil wants a book");
Мне нужно, чтобы получить записи между датой 29 июня 2016 и 1 июля 2016 для временных интервалов 18:59:52 до 01: 31:12. Я написал запрос, но он не возвращает желаемый результат
SELECT l.*
FROM table l
WHERE ((time >=1467226792) AND (CAST(FROM_UNIXTIME(time/1000) as time) >= '18:59:52') AND (CAST(FROM_UNIXTIME(time/1000) as time) <= '01:31:12') AND (time <=1467336672))
Любые предложения ??
отливать свои временные метки DateTimes. –
Я действительно смущен. Что такое '' emd_date'' и '' start_date''? Почему у вас есть строковые константы? Какие столбцы поступают из таблицы? Примерные данные и желаемые результаты помогут. –
@GordonLinoff запрос не работает, если start_date = 21:30:00 и end_date is 03:30:00 – Unaffected