如何在MySQL中选择没有时间戳的最后一小时

时间:2015-12-01 10:48:52

标签: mysql sql datetime timestamp

我想选择过去一小时的所有记录。问题是,我没有时间戳。我将时间保存在一行中,而将另一行保存在日期中。

date        time
2015-11-27  10:55:04
2015-11-27  11:16:38
2015-11-27  11:57:29
2015-11-27  13:04:47
2015-11-27  14:29:00
2015-11-27  14:36:41
2015-11-27  14:52:46
2015-11-27  15:06:20
2015-11-27  15:30:24
2015-11-27  15:47:15

是否可以将此转换为时间戳,以便根据此方法进行我希望的选择: select rows from last 2 hours

谢谢!

2 个答案:

答案 0 :(得分:4)

我想我可以自己解决问题。 谢谢你的提示。

SELECT *
FROM recs
WHERE TIMESTAMP(`datefield`,`timefield`) BETWEEN DATE_SUB(NOW(), INTERVAL 1 HOUR) AND NOW();

答案 1 :(得分:1)

只想分享其他方式,

SELECT 
        * 
FROM
        <tablename>
WHERE 
        CAST(CONCAT(datecolumn,' ',timecolumn) AS DATETIME) > SUBDATE(NOW(), INTERVAL 1 HOUR);