SQL-从当前日期时间中减去毫秒
我正在尝试编写一个查询,它将允许我获取从现在到过去几分钟内输入的记录。我的分钟数是毫秒。所以,我正在尝试编写一个SQL查询,让我能够获取这些记录 我看到一个函数。然而,我没有看到从日期中减去时间的函数。从psedoo代码的角度来看,我正在尝试这样做:SQL-从当前日期时间中减去毫秒,sql,sql-server,Sql,Sql Server,我正在尝试编写一个查询,它将允许我获取从现在到过去几分钟内输入的记录。我的分钟数是毫秒。所以,我正在尝试编写一个SQL查询,让我能够获取这些记录 我看到一个函数。然而,我没有看到从日期中减去时间的函数。从psedoo代码的角度来看,我正在尝试这样做: SELECT * FROM MyTable WHERE CreatedAt > (GetUtcDate() - milliseconds) 如何从MyTable中获取在过去某个时间窗口内发生的记录?我们可以尝试在毫秒模式下使用:
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函数。故意双重引用为准代码
第一个参数定义要加或减的单位的种类,即小时、天、周等,或者在您的情况下,毫秒。在第二个参数中,如果要添加时间,请输入正数。如果你想减去时间,就像你在这里做的那样,输入一个负数的单位