Все, что ожидается в течение последних 10 дней назад, должно быть получено, если не игнорировать их в SQL - PullRequest
0 голосов
/ 13 октября 2018

Мне нужно игнорировать данные, все, что ожидалось в течение последних 10 дней назад, должно быть получено, если не игнорировать их.Я не уверен, как написать это в SQL.У меня есть столбец EXPDATE.Я не уверен, что мое утверждение верно или нет.

Я считаю, что логика должна быть такой:

Ожидаемая дата + 10 дней <Сегодняшняя дата? </p>

GETDATE() < DATEADD(DAY, +10, GETDATE()) - Я нашел это в Интернете, но где я могу подключить свой столбец ExpectedDate?

Заранее спасибо !!

1 Ответ

0 голосов
/ 13 октября 2018

Вы можете сделать это любым способом - сначала добавьте 10 дней к EXPDATE и сравните его с текущей датой, как показано ниже.

select * from MyTable Where DATEADD(DAY, 10, EXPDATE) < GETDATE()

Другой способ: вы можете вычесть 10 дней с сегодняшнего дня и сравнить их с EXPDATE..

select * from MyTable Where DATEADD(DAY, -10, GETDATE()) > EXPDATE

Я бы предпочел 2-й вариант и использовал бы переменную для вычисления 10-дневной даты в качестве константы, а затем использовал ее в предложении where, как показано ниже.

Declare @myDate datetime
SET @myDate = DATEADD(DAY, -10, GETDATE())
select * from MyTable Where @myDate  > EXPDATE
...