2009-10-26 84 views
1

我怎样才能通过SQL Server的日期时间选择最新记录?按日期时间字段选择最新记录

这里是伪代码...

SELECT Records 
    FROM MyTable 
WHERE current time >= (CurrentTime - 2 minutes) 

假设当前时间是下午10点25分39秒

26/10/2009 10:25:39 pm 
26/10/2009 10:25:00 pm 
26/10/2009 10:24:53 pm 
26/10/2009 10:24:19 pm 
26/10/2009 10:23:58 pm 
26/10/2009 10:14:56 pm 
26/10/2009 10:12:56 pm 

的SQL查询应该返回这些记录...

26/10/2009 10:25:39 pm 
26/10/2009 10:25:00 pm 
26/10/2009 10:24:53 pm 
26/10/2009 10:24:19 pm 

回答

7

真实码:

SELECT * FROM MyTable WHERE currentTime >= DATEADD(n, -2, GETDATE()) 
ORDER BY currentTime DESC 
+0

+1不把DateAdd函数在列!我总是喜欢关注潜在索引使用的查询(并且我看到这个'混乱'发生的事情比我更关心的事情)。 – KSimons 2009-10-26 20:50:54

3

用途:

WHERE t.currenttime BETWEEN DATEADD(mi, -2, GETDATE()) AND GETDATE() 
ORDER BY t.currenttime DESC 

参考文献: