如何使用时间戳 select 仅 20 天的 SQL 数据

How to select the SQL data from just 20 days using the TimeStamp

如何使用时间戳只使用前 20 天的数据。在下面的代码中,我 select 将时间戳设置为高于此时间戳的任何内容,我想 select 然后插入它。但我对数据库中的所有数据不感兴趣,但我需要从该特定时间戳日期起 20 天的数据。我怎样才能实现它。我试过的是在下面。

我的SQL服务器查询如下:

SELECT [LogID]
      ,[TimeStamp]
      ,[Artikel_Nr]
      ,[Percentage_Nr]
from [Database1].[dbo].[Tabel1]
  where [TimeStamp] > 2018-02-12 06:02:18.77 AND SELECT DATEADD(DAY,-20,GETDATE())

我不确定最近 20 天 select 上面的行是否正确。如果不是请纠正我。

尝试以下查询:您不需要 select

SELECT [LogID]
      ,[TimeStamp]
      ,[Artikel_Nr]
      ,[Percentage_Nr]
from [server1].[dbo].[Database1]
  where [TimeStamp] > '2018-02-12 06:02:18.77' AND [TimeStamp]< DATEADD(DAY,-20,GETDATE())

SELECT DATEADD(DAY,-20,GETDATE())上会报错你可以直接用DATEADD(DAY,-20,GETDATE())

如果你想要前 20 天,你可以在开始日期和结束日期之间尝试。

  1. 开始日期前 20 天 DATEADD(DAY,-20,GETDATE())
  2. 结束日期仅使用 GETDATE() 获取当前日期时间。

然后使用Between

SELECT [LogID]
      ,[TimeStamp]
      ,[Artikel_Nr]
      ,[Percentage_Nr]
from [server1].[dbo].[Database1]
where [TimeStamp]  between DATEADD(DAY,-20,GETDATE()) and GETDATE()

尝试

DECLARE @EndDate DateTime = GETDATE(); -- Specify the date you want to end at
DECLARE @StartDate DateTime = DATEADD(DAY, -20, @EndDate);

SELECT [LogID]
  ,[TimeStamp]
  ,[Artikel_Nr]
  ,[Percentage_Nr]
FROM [Table]
WHERE [TimeStamp] > @StartDate AND [TimeStamp] <= @EndDate