2009-10-26 78 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 

參考文獻: