我有一个表格,下面有一些示例列:
id creationdate name
1 2012-08-09 14:14:22.225 ken
2 2012-08-09 13:11:20.212 john
我想从现在起获取creationdate
超过 30 分钟的所有行。
您要确保创建日期值小于现在减去 30,而不是更大。日期时间的值越低,它越旧。
SELECT
Id,
creationdate,
name
FROM TableName
WHERE creationdate < DATEADD(MINUTE, -30, GETDATE());
这将起作用,或者,如果这适用于您的环境,您可以使用"*"而不是列出列。 如果您正在处理 UTC,请使用 GETUTCDATE()。
SELECT
Id,
creationdate,
name
FROM TableName
WHERE creationdate > DATEADD(MINUTE, -30, GETDATE());