在 SQL 中获取系统日期时间前 10 分钟的记录

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4956973/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 09:16:59  来源:igfitidea点击:

Get records 10 min before system datetime in SQL

sqlsql-serversql-server-2005sql-server-2008

提问by gofor.net

i need to find the records 10 min before system current datetime.

我需要在系统当前日期时间前 10 分钟找到记录。

select Id,TimeStamp from ISAlive where RecordUpdatedDate < GETDATE() --SYSDATETIME()

回答by Thomas Rushton

select Id, TimeStamp
from ISAlive
WHERE RecordUpdatedDate = dateadd(minute,-10,getdate())

might be a starting point. Of course, it probably won't match exactly...

可能是一个起点。当然,它可能不会完全匹配......

...if you want to get the most recent record that fits that criteria, however, try

...如果您想获得符合该标准的最新记录,请尝试

SELECT TOP 1 ID, TimeStamp
FROM ISAlive
WHERE RecordUpdatedDate <= dateadd(minute, -10, getdate())
ORDER BY RecordUpdatedDate DESC

回答by Skorpioh

SELECT Id, TimeStamp
FROM ISAlive 
WHERE RecordUpdatedDate < DATEADD(minute,-10, SYSDATETIME());

回答by Oli Girling

You can do this with now()

你可以用 now() 做到这一点

SELECT Id, TimeStamp
FROM ISAlive 
WHERE RecordUpdatedDate <= NOW() - INTERVAL 10 MINUTE;