使用sql从特定日期开始24小时

时间:2015-03-12 20:01:24

标签: sql sql-server tsql

我试图从特定日期开始过去24小时。在我的表中,我有很多数据点,但我只想提前24小时从所选ID中提取。这是示例

select ID, Name, FullDatetime from myTable where ID = 53 

此查询的结果如下所示:

ID   Name         FullDateime
53   John    2015-03-11 02:00:00.000

所以我想在此日期之前过去24小时。请帮忙。感谢

2 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,要获取FullDateTime FullDateTimeValue的最后24小时内ID select mt1.ID, mt1.Name, mt1.FullDateTime from myTable mt1 inner join myTable mt2 on mt1.FullDateTime between DATEADD(hour, -24, mt2.FullDateTime) and mt2.FullDateTime and mt2.ID = 53 的记录,您可以使用自我加入:

FullDateTime

既然你提到你有很多数据点,性能可能是一个问题。如果我们知道你在表上有什么索引,也许可以编写查询以更好地使用它们。如果您在mt1上有索引,则上述查询将使用该索引(在{{1}}上)。

答案 1 :(得分:-1)

我不清楚你想要什么,你想要24小时或更小或更老的记录吗?

旧版:

select ID, Name, FullDatetime from myTable 
where ID = 53 
     and dateadd(day, 1, FullDatetime) < @myDate

年轻

select ID, Name, FullDatetime from myTable 
where ID = 53 
     and dateadd(day, 1, FullDatetime) > @myDate