2010-01-13 64 views
6

我知道這應該很容易,我在mySQL和Postgresql中沒有任何問題,但我正在努力使用SQL Server。我想選擇具有一個多小時歷史的datetimeoffset字段的行。SQL Server選擇datetimeoffset大於1小時的地方

select * from table where mydatetime < getdate() - 1 hour 

我試過dateadd和datediff,但不能正確。

回答

7
select * from table where mydatetime < dateadd(hh, -1, getdate()) 
+1

小心,由於mydatetime是可能無法在同一時區的服務器DATETIMEOFFSET。如果您使用SYSDATETIMEOFFSET(或者可選地使用GETUTCDATE()並使用mydatetime上的SWITCHOFFSET將其轉換爲UTC),那麼您會將蘋果與蘋果進行比較。 – Josh 2010-01-13 08:05:55

+0

這是正確的。 – 2010-01-13 08:07:32