SQL - 检索指定记录日期时间字段两侧 X 秒内出现的所有记录

标签 sql sql-server datetime parameters

当我在 SQL 表中存储记录时,它会与 eventDateTime 一起存储。

我想返回其 eventDateTime 为指定记录 eventDateTime 两侧 X 秒的所有记录。

我已经尝试过,但它对我不起作用,我一无所获。

示例:

给我提供在所提供的记录 eventDateTime 之前和之后 10 秒内具有 eventDateTime 的所有记录。

这可以做到吗?非常感谢所有帮助!

最佳答案

您可以使用日期逻辑来完成此操作。这是一种方法:

select t.*
from t join
     t t2
     on t2.id = @id and
        t.datetime between dateadd(second, - @n, t2.datetime) and dateadd(second, @n, t2.datetime);

在此公式中,@id 是表示要匹配的行的逻辑,@n 是两侧的秒数。

关于SQL - 检索指定记录日期时间字段两侧 X 秒内出现的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41774475/

相关文章:

datetime - 如何在 Crystal Reports 中将 DateTime 对象转换为字符串

sql - 在 SQL Server 中计算时间差(以分钟为单位)

SQL 查询 - 表之间的复杂查询

mysql - SQL Server 2012 等效限制分页

iphone - 在 iPad 中计算纪元时间

mysql - 如何从 SQL Server 表中选择不同的行

c# - 如何将 SQL 异常抛回给调用的 asp.net 应用程序?

mysql触发器不插入选定的列

SQL MOVE记录到另一个表

php - sql代码显示每个类别中具有多个最大值的类别的最大值?