SQL-从当前日期时间中减去毫秒

SQL-从当前日期时间中减去毫秒,sql,sql-server,Sql,Sql Server,我正在尝试编写一个查询,它将允许我获取从现在到过去几分钟内输入的记录。我的分钟数是毫秒。所以,我正在尝试编写一个SQL查询,让我能够获取这些记录 我看到一个函数。然而,我没有看到从日期中减去时间的函数。从psedoo代码的角度来看,我正在尝试这样做: SELECT * FROM MyTable WHERE CreatedAt > (GetUtcDate() - milliseconds) 如何从MyTable中获取在过去某个时间窗口内发生的记录?我们可以尝试在毫秒模式下使用:

我正在尝试编写一个查询,它将允许我获取从现在到过去几分钟内输入的记录。我的分钟数是毫秒。所以,我正在尝试编写一个SQL查询,让我能够获取这些记录

我看到一个函数。然而,我没有看到从日期中减去时间的函数。从psedoo代码的角度来看,我正在尝试这样做:

SELECT
  *
FROM
  MyTable
WHERE
  CreatedAt > (GetUtcDate() - milliseconds)
如何从MyTable中获取在过去某个时间窗口内发生的记录?

我们可以尝试在毫秒模式下使用:

SELECT *
FROM MyTable
WHERE CreatedAt > DATEADD(ms, -60000, GETDATE());  -- 60000 ms = 1 minute
这将返回在当前日期和时间的一分钟内创建的所有记录。

我们可以尝试在毫秒模式下使用:

SELECT *
FROM MyTable
WHERE CreatedAt > DATEADD(ms, -60000, GETDATE());  -- 60000 ms = 1 minute
这将返回在当前日期和时间的一分钟内创建的所有记录。

您需要的功能是

你想要的功能是


在SQL中与日期和时间交互的最佳方法是使用特定的日期和时间函数,而不是像添加数字那样添加日期

在这种情况下,您需要的功能是,使用它时,您的电源线应如下所示:

SELECT *
FROM MyTable
WHERE CreatedAt > DATEADD(ms, -milliseconds, GetUtcDate())

在SQL中与日期和时间交互的最佳方法是使用特定的日期和时间函数,而不是像添加数字那样添加日期

在这种情况下,您需要的功能是,使用它时,您的电源线应如下所示:

SELECT *
FROM MyTable
WHERE CreatedAt > DATEADD(ms, -milliseconds, GetUtcDate())
尽管名称不同,DATEADD函数也是您正在寻找的DATESUBTRACT函数。故意双重引用为准代码

第一个参数定义要加或减的单位的种类,即小时、天、周等,或者在您的情况下,毫秒。在第二个参数中,如果要添加时间,请输入正数。如果你想减去时间,就像你在这里做的那样,输入一个负数的单位

尽管名称不同,DATEADD函数也是您正在寻找的DATESUBTRACT函数。故意双重引用为准代码

第一个参数定义要加或减的单位的种类,即小时、天、周等,或者在您的情况下,毫秒。在第二个参数中,如果要添加时间,请输入正数。如果你想减去时间,就像你在这里做的那样,输入一个负数的单位