Как я могу просто использовать данные предыдущих 20 дней, используя метку времени. В приведенном ниже коде я выбираю метку времени все, что выше этой метки я хотел выбрать, а затем вставить его. Но меня не интересуют все данные, которые есть в базе данных, но мне нужны данные за 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 дней я прав. Если нет, поправьте меня, пожалуйста.
3 ответа
Будет ошибка SELECT DATEADD(DAY,-20,GETDATE())
, которую вы можете использовать DATEADD(DAY,-20,GETDATE())
напрямую.
Если вы хотите, чтобы предыдущие 20 дней вы можете попробовать между днем начала и датой окончания.
- день начала, предшествующий 20 дням
DATEADD(DAY,-20,GETDATE())
- дата окончания используется только
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
Попробуйте запрос ниже: вам не нужно выбирать
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())
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.