Я пытаюсь написать запрос, в котором пользователи, которые отмечают ежемесячную годовщину своей компании, могут инициировать электронную почту (то есть, если сегодняшняя дата равна 3/27, он найдет людей, которые подписались на 1/27, 2/27, 3/27, 4/27 и т. д., независимо от года).SQL-запрос, чтобы найти пользователей для ежемесячной юбилея
Мой метод состоит в том, чтобы найти пользователей, чья «дневная» часть их даты регистрации равна «дневной» части сегодняшней даты.
SELECT [User Id],[Sign Up Date]
FROM [Monthly Account Update]
WHERE DATEPART(DAY,[Sign Up Date]) = DAY(GETDATE())
Однако, это, конечно, не работает для этих сценариев:
В конце февраля, я не хотел бы получить возможность электронной почты людей с 29, 30 и 31 ежемесячном юбилейных дней, так как этого не происходит. В идеале, когда это будет 28 февраля, я просто хотел бы окунуться в людей с 29, 30 и 31 датами.
На каждый другой месяц, когда дата заканчивается на 30-м, я не стал бы посылать по электронной почте людей с 31-й датой. В идеале здесь я просто хотел бы окунуться в людей с 30 и 31 датами.
Может ли любая из этих вещей быть выполнена с помощью SQL-запроса?
Что о на первом (или пятнадцатого) числа месяца, вместо этого? –