如何在MS SQL中检索最近30分钟的记录?

时间:2010-12-17 13:50:15

标签: sql sql-server tsql

我想在表格中检索最近30分钟的记录。怎么做?以下是我的询问..

select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
(CURRENT_TIMESTAMP-30)

5 个答案:

答案 0 :(得分:74)

更改此(CURRENT_TIMESTAMP-30)

To This:DateADD(mi, -30, Current_TimeStamp)

要获取当前日期,请使用GetDate()。

MSDN Link to DateAdd Function
MSDN Link to Get Date Function

答案 1 :(得分:38)

查看使用DATEADD

类似

SELECT DATEADD(minute, -30, GETDATE())

答案 2 :(得分:5)

使用:

SELECT * 
FROM [Janus999DB].[dbo].[tblCustomerPlay] 
WHERE DatePlayed <  GetDate() 
AND DatePlayed > dateadd(minute, -30, GetDate())

答案 3 :(得分:1)

SQL Server使用Julian日期,因此您的30表示“30个日历日”。 getdate() - 0.02083表示“30分钟前”。

答案 4 :(得分:1)

DATEADD仅在MySQL 5.5.53(我知道它很旧)上返回了Function does not exist

相反,我发现DatePlayed > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 30 minute)产生了预期的结果