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

时间:2018-11-20 13:58:13

标签: sql sql-server

我正在尝试编写一个查询,该查询使我可以获取从现在到过去几分钟之间输入的记录。我的分钟数以毫秒为单位。因此,我正在尝试编写一个SQL查询,该查询将使我获得这些记录。

我看到一个DateAdd函数。但是,我没有看到从日期减去某些时间的功能。从pseduo代码的角度来看,我正在尝试这样做:

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

如何从MyTable中获取过去一段时间内发生的记录?

4 个答案:

答案 0 :(得分:2)

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

$True

这将返回在当前日期和时间的一分钟内创建的所有记录。

答案 1 :(得分:1)

您想要的功能是DATEADD (Transact-SQL)

Modules

答案 2 :(得分:1)

尽管DATEADD函数是它的名称,但它也是您要查找的“ DATESUBTRACT”函数。 (故意将双引号作为准代码。)

第一个参数定义要添加或减去的单位种类,例如HOURDAYWEEK等,或者在您的情况下为{{1} }。在第二个参数中,如果要增加时间,请输入一个正数。如果要减去时间,请按照此处的步骤输入负数。

答案 3 :(得分:0)

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

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

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