Я должен запросить данные в определенном диапазоне даты и времени. У меня есть база данных ClearDB в heroku с 2 полями для сохранения даты и времени, эти поля имеют тип varchar, а не DATE.
Структура данных здесь и не смотрите имена полей, я изменил ниже в запросах для лучшего понимания.
У меня есть этот запрос, который работает:
SELECT
DISTINCT dates, times, lat, long, ide FROM data
WHERE ide = 'lcg1234' AND (dates>= '2016-01-27' AND times>='15:00:00')
AND (dates<= '2016-01-29' AND times<='16:00:00')
ORDER BY times ASC
Проблема в том, когда я изменяю время в последнем И на более низкое значение, подобное этому:
SELECT
DISTINCT dates, times, lat, long, ide FROM data
WHERE ide = 'lcg1234' AND (dates>= '2016-01-27' AND times>='15:00:00')
AND (dates<= '2016-01-29' AND times<='01:00:00')
ORDER BY times ASC
Это не работает, почему это случилось? любые идеи приветствуются! и извините за мой плохой английский.
Вы должны объединить столбец даты и времени и создать поле даты и времени. А потом сравните.
Проверьте, работает ли следующий запрос.
SELECT
DISTINCT dates, times, lat, long, ide FROM data
WHERE ide = 'lcg1234'
AND CONCAT(`dates`,' ',`times`) >= '2016-01-27 15:00:00'
AND CONCAT(`dates`,' ',`times`) <= '2016-01-29 01:00:00'
ORDER BY times ASC
Других решений пока нет …