如何在MySQL中以特定间隔在两个日期时间之间提取值?

时间:2009-12-21 15:31:50

标签: datetime mysql

我有一个应用程序,每秒将温度值写入MySQL表,它由温度和日期时间字段组成。

我需要以特定的时间间隔,每秒,每分钟,每小时等将这些值拉出表格。

因此,例如,我需要在2个日期时间字段之间取出值,并显示每个字段的温度。

我考虑过的一个选项是创建一个临时表,其中包含使用MySQL INTERVAL生成的时间间隔列表,然后将其连接到主表。

我只是想知道MySQL中是否有一些时间和日期函数可以让我更容易?

感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用between作为您的日期,然后使用time()查看时间戳结构的条件WHERE子句。如果它在00:00(例如,16:00:00)内,请接受,如果没有,请将其保留。

示例(未经测试):

SELECT temp, date
FROM temperatures
WHERE (date BETWEEN '2009/01/03 12:00:00' AND '2009/01/04 12:00:00') 
 AND  (time(date) LIKE '%:00:00')
ORDER BY date ASC
LIMIT 10