MySQL:获取行添加x个小时

问题描述:

获取过去x个小时的行。问题是x可以是任意数量的小时数。例如,如果x是48,我需要获得过去2天的所有行。如何将datetime存储在数据库中并成功检索行。谢谢。用户将选择日期和时间,然后选择持续时间(x)。MySQL:获取行添加x个小时

+1

Google search.try it –

+0

事情是我不需要代码。我只需要知道我应该如何保存日期,然后如何使用DATE_SUB之类的数据来获取数据。 – Jones

+1

如果您要保存日期和时间,请使用数据类型'datetime'。你可以在MySQL中使用'>','

您可以在mysql中使用DATE_SUB()函数。

*** WHERE `timecolumn_in_your_table` BETWEEN (DATE_SUB('2016-08-17', INTERVAL 48 HOUR)) and '2016-08-17' 

条件可以给出按照您的要求

+0

这样查询将获得'2016-08-17'和48小时之间的数据? – Jones

首先你需要改变你的表中添加一个时间字段

ALTER TABLE MyTable ADD timecolumn_in_your_table DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;

然后,说的Krishnakumar,您可以使用检索行:

*** WHERE timecolumn_in_your_table BETWEEN(DATE_SUB( '2016年8月17日',间隔48 HOUR))和 '2016年8月17日'

(WHERE子句与timecolumn_in_your_table 2016年8月15日00:00至2016年8月17日00:00之间选择行上)

(我希望我能加入这个职位为的Krishnakumar的回答评论,但我不能,因为我的知名度低于50)

是琼斯。上面的查询会给出特定日期和子时间(从该日期开始的时间间隔)之间的答案。我希望这是你问的。