Оператор SQL для поиска более старых данных между определенной датой на основе столбца даты - PullRequest
0 голосов
/ 09 октября 2018

Я изучаю SQL и не могу понять, как найти данные старше 30 дней, но не старше 60 дней.Я использую SQL Server.В приведенном ниже утверждении отображаются все электронные письма, которые находятся ниже текущей даты.Я не хочу указывать точную дату / время, например 2018-9-9, так как я помещаю это в приложение, чтобы оно автоматически отправляло электронное письмо пользователям через 30 дней и блокировало учетную запись через 60 дней.

У меня есть два столбца в базе данных, один из них является Email_address (nvarchar (50), а другой - AccDate (date)

SELECT Email_Address
FROM User_Email_Address
WHERE Email_Address = Email_Address and AccDate <= CURRENT_TIMESTAMP; 

Я думаю, что мне нужно использовать Dateadd (день, -30, getdate ();, но не знаю, как это сделать.

У меня есть два столбца в базе данных, один из которых является Email_address (nvarchar (50), а другой - AccDate (date).

Ответы [ 3 ]

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

Если вы ищете адреса электронной почты с AccDate «старше 30 дней, но не старше 60 дней», то это может быть более точным для использования:

SELECT Email_Address
FROM User_Email_Address
WHERE AccDate BETWEEN GETDATE() - 30 AND GETDATE() + 60; 

Если вам нужен справочникдля изучения SQL эта книга была очень полезна для меня: https://www.amazon.com/gp/product/150930200X/ref=dbs_a_def_rwt_bibl_vppi_i0

Ура!

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

Полагаю, вы могли бы использовать что-то вроде (не проверено):

... WHERE AccDate BETWEEN Dateadd(day, -60, getdate()) AND Dateadd(day, -30, getdate())

Помогает ли это?

Приветствия, Никао

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

Вы можете сделать

SELECT Email_Address
FROM User_Email_Address
WHERE AccDate BETWEEN DATEADD(DAY, -60, GETDATE()) AND DATEADD(DAY, -30, GETDATE()); 

И сбросить чек Email_Address = Email_Address, так как адрес электронной почты всегда равен самому себе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...