Sql 获取3天前的日期

Sql 获取3天前的日期,sql,sql-server,Sql,Sql Server,我有一个SQL脚本,可以选择当天的所有内容 SELECT [ClientID] from [logs] where Date > CONVERT (date, SYSDATETIME()) Date是DateTime的类型 如何在过去3天内获取所有信息?我想我需要从函数SYSDATETIME()结果中减去3天,但是如何使用 SELECT [ClientID] from [logs] where Date > DATEADD(day, -3, CONVERT (date, SYS

我有一个SQL脚本,可以选择当天的所有内容

SELECT  [ClientID] from [logs] where Date > CONVERT (date, SYSDATETIME())
Date是DateTime的类型


如何在过去3天内获取所有信息?我想我需要从函数
SYSDATETIME()
结果中减去3天,但是如何使用

SELECT  [ClientID] from [logs] where Date > DATEADD(day, -3, CONVERT (date, SYSDATETIME()))
SELECT ClientID 
FROM logs
WHERE Date BETWEEN SYSDATETIME() AND SYSDATETIME() - 3

在两者之间使用是很好的。我也更喜欢DATEADD函数。但是请注意,SYSDATETIME函数(或者我将使用GETDATE())也包含时间,这意味着当前时间之前但三天内的事件可能不包括在内。您可能需要将双方都转换为日期而不是日期时间。

对于mysql,请使用以下方法:

SELECT  [ClientID] from [logs] where Date > DATEADD(day, -3, SYSDATETIME())
SELECT DATE_ADD(CURRENT_DATE, INTERVAL - 3 DAY);
使用
GETDATE()
:是的,它从系统中获取日期

将当前数据库系统时间戳作为datetime值返回 没有数据库时区偏移。该值是从 SQL Server实例所在计算机的操作系统 他正在跑步

查询:

更多参考:


DATEADD(DAY,-3,CONVERT(date,SYSDATETIME())出现错误“操作数类型冲突:datetime2与int不兼容”请参阅此处有关使用介于和日期之间的选项的答案:sql server不兼容mysql@vico您好,您找到答案了吗?GetDate()获取日期时间(即日期和时间)。
SELECT  [ClientID] from [logs] where ( Date  > GETDATE() - 3)