Ich versuche, eine Abfrage zu schreiben, die Benutzer finden, die einen monatlichen Jahrestag mit meiner Firma feiern, so können wir eine E-Mail an sie auslösen (dh, wenn das heutige Datum 3/27 ist, es würde Leute finden, die sich auf 1/27, 2/27, 3/27, 4/27, etc., unabhängig vom Jahr) angemeldet haben.SQL-Abfrage, um Benutzer für den monatlichen Jahrestag zu finden
Meine Methode ist Benutzer zu finden, deren "Tag" Teil ihres Anmeldedatums gleich dem "Tag" Teil des heutigen Datums ist.
SELECT [User Id],[Sign Up Date]
FROM [Monthly Account Update]
WHERE DATEPART(DAY,[Sign Up Date]) = DAY(GETDATE())
Dies ist jedoch natürlich nicht für diese Szenarien funktioniert:
Am Ende Februar würde ich die Chance bekommen, die Menschen nicht per E-Mail mit 29, 30 und 31 monatlich Jahrestagstage, als die nicht passieren. Im Idealfall, wenn es der 28. Februar ist, würde ich gerne Leute mit 29, 30 und 31 Dates aufnehmen.
Für jeden anderen Monat, wo das Datum in einem 30. endet, würde ich nicht Leute mit 31. Daten per E-Mail schicken. Im Idealfall würde ich hier nur Leute mit 30 und 31 Dates aufnehmen.
Kann eines dieser Dinge mit einer SQL-Abfrage erreicht werden?
Was auf den ersten (oder 15.) des Monats statt? –