MSSQL获取最近30秒内添加的最后一个条目?

时间:2015-11-16 17:09:47

标签: sql-server

我想从MSSQL数据库中获取最近30秒内的最后一个条目。

在Mysql中你做:

SELECT * FROM table WHERE datetime> (现在() - 间隔30秒)

如何在MSSQL中执行此操作?

4 个答案:

答案 0 :(得分:1)

DATEDIFF是您的解决方案。

SELECT 
    * 
FROM 
    [table] 
WHERE 
    DATEDIFF(second, [datetime], GETDATE()) < 30

答案 1 :(得分:0)

您可以GETDATE()DATEADD

结合使用SELECT * FROM table WHERE datetime > (DATEADD(second,-30,getdate()))
...
COMPANY_TOTAL_A(A) AS
(
SELECT NVL(COUNT(ITEM),0)
FROM COMPANY_TOTALS_FINAL
WHERE ITEM = 'A'
GROUP BY ITEM
),
...

答案 2 :(得分:0)

使用DATEADD()

DATEADD(SECOND,-30,GETDATE())

答案 3 :(得分:0)

使用带有负整数的dateadd将为您提供所需的数据

DATEADD (Transact-SQL)

SELECT * FROM table WHERE datetime >= DATEADD(SECOND,-30,datetime)