Rubrik: Datenbanken | VB-Versionen: VB2010 - VB2015 | 08.11.17 |
Anzahl Tage bis zum nächsten Geburtstag/Termin ermitteln - als SQL-Formel Mit dieser Formel für ein berechnetes Datenfeld einer SQL-Tabelle wird die Anzahl der Tage berechnet, die zwischen dem heutigen Tag und dem nächsten Geburtstag/Termin einer Person liegen. | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 6.280 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Dieser Tipp ist aus der Idee meines Tipps Anzahl Tage von heute bis zum nächsten Geburtstag ermitteln für eine VB.net-Funktion entstanden.
Als Input für die Formel wird der Geburtstag als Datenfeld der betreffenden Person benötigt, als String, also bspw. 17.3.1975.
Liegt der Geburtstag nach dem heutigen Datum erfolgt die Berechnung einfach als Differenz. Liegt aber der diesjährige Geburtstag vor dem heutigen Datum, ist also schon vorbei, wird der Abstand zum Geburtstag im nächsten Jahr berechnet.
Und: Es muss nicht der Geburtstag sein, die Formel ist auch verwendbar auf irgendeinen Termin, muss dann nur geringfügig angepasst werden (Geburtstag durch den gewünschten Datenfeld-Namen ersetzen).
Hier die Formel (SQL-Statement):
case when (datediff(day,getdate(),dateadd(year,datepart(year,getdate()) - datepart(year,[geburtstag]),[geburtstag])))<0 then datediff(day,getdate(),dateadd(year,datepart(year,getdate()) - datepart(year,[geburtstag])+1,[geburtstag])) else datediff(day,getdate(),dateadd(year,datepart(year,getdate()) - datepart(year,[geburtstag]),[geburtstag])) end