我正在尝试编写一个查询,该查询使我可以获取从现在到过去几分钟之间输入的记录。我的分钟数以毫秒为单位。因此,我正在尝试编写一个SQL查询,该查询将使我获得这些记录。
我看到一个DateAdd函数。但是,我没有看到从日期减去某些时间的功能。从pseduo代码的角度来看,我正在尝试这样做:
SELECT
*
FROM
MyTable
WHERE
CreatedAt > (GetUtcDate() - milliseconds)
如何从MyTable
中获取过去一段时间内发生的记录?
答案 0 :(得分:2)
答案 1 :(得分:1)
您想要的功能是DATEADD (Transact-SQL)。
Modules
答案 2 :(得分:1)
尽管DATEADD
函数是它的名称,但它也是您要查找的“ DATESUBTRACT”函数。 (故意将双引号作为准代码。)
第一个参数定义要添加或减去的单位种类,例如HOUR
,DAY
,WEEK
等,或者在您的情况下为{{1} }。在第二个参数中,如果要增加时间,请输入一个正数。如果要减去时间,请按照此处的步骤输入负数。
答案 3 :(得分:0)
在SQL中与日期和时间进行交互的最佳方法是使用特定的日期和时间函数,而不是像添加数字那样添加日期。
在这种情况下,您要查找的功能是DATEADD,使用它您的电源线应如下所示:
SELECT *
FROM MyTable
WHERE CreatedAt > DATEADD(ms, -milliseconds, GetUtcDate())