Faq/Base/121/de

Wie kann ich das Alter anhand eines Geburtsdatums bestimmen?
Das Alter einer Person schein erst einmal recht einfach zu ermitteln zu sein: ( HSQLDB, GUI ) oder

( Firebird, GUI )

Startet diese Abfrage aber z.B. am 1.2.2017, so kann sie die folgenden Ergebnisse haben:

Das erste Alter ist offensichtlich falsch, da der Tag der Abfrage im Jahr vor dem Tag liegt, an dem die Person Geburtstag hat. Es muss also nachgebessert werden:

( HSQLDB, GUI )

oder ( Firebird, GUI )

Mit diesen Abfragen kommt am 1.2.2017 folgendes Ergebnis:

Diese Abfragen funktionieren vom Prinzip her ganz gut. Es kann allerdings zu Fehlern mit Schaltjahren kommen, wenn die Geburtstage am 29.02. oder am 1.03. liegen. Mit dieser Bedingung wird die Abfrage noch deutlich umfangreicher. Es muss nach dem Monat und nach dem Tag im Monat gefragt werden. Wer am 29.02. geboren wurde hat danach in normalen Jahren am 1.03. Geburtstag: ( HSQLDB, GUI )

oder ( Firebird, GUI )