我必须查询特定日期和时间范围内的数据。我在heroku中有一个ClearDB数据库,有2个字段来保存日期和时间,这些字段是varchar类型,而不是DATE。 Data Structure here不要看字段名称,为了更好地理解,我在下面的查询中进行了更改。
我有这个有效的查询:
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
问题是当我将最后一个 AND 中的时间更改为较低的值时,如下所示:
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
关于PHP MYSQL 查询日期和时间字段之间的数据 HEROKU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35094942/