SQL 选择彼此 'close' 的日期时间值

SQL selecting datetime values which are 'close' to each other

我有一个系统,在某个时间(plannedTime)计划事件,当这些事件播放相同时table更新行(playedTime),两者都是datetime类型,所以比较应该很简单。在应用程序中执行此操作不会有问题,但是否有一种简单的方法可以在一次查询中选择播放时间与计划时间相差 10 分钟以内的事件?

我试过:

SELECT * FROM eventlist
where playedTime LIKE plannedTime

但是,这只会给我提供与计划时间完全相同的事件,如果有的话,很少。

我的想法是在 played- 和 plannedTime 之间创建一个时间跨度,如果不超过 10 分钟,则将其包含在结果中,但我不知道在 SQL 查询中从哪里开始。

我想你想要时间比较:

SELECT el.*
FROM eventlist el
WHERE el.playedTime <= DATEADD(minute, 10, plannedTime) AND
      el.playedTime >= DATEADD(minute, -10, plannedTime);

注意:这会将“10 分钟内”解释为之前或之后。