Dieser Tipp ist aus der Idee meines Tipps 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 Dieser Tipp wurde bereits 6.907 mal aufgerufen.
Anzeige
![]() ![]() ![]() Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats TOP! Unser Nr. 1 ![]() Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |