我想在表格中检索最近30分钟的记录。怎么做?以下是我的询问..
select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
(CURRENT_TIMESTAMP-30)
答案 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)
答案 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)
产生了预期的结果