我想选择过去一小时的所有记录。问题是,我没有时间戳。我将时间保存在一行中,而将另一行保存在日期中。
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
谢谢!
答案 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);