Hallo Ralf,
Du musst an dem Code gar nichts ändern, auch wenn Du Daten verwendest, bei denen nur ein Geburtsjahr, nicht aber Monat und Tag bekannt sind.
Hier zum besseren Verständnis, wie TNG ein Datum ablegt, noch ein paar Infos:
Es wird z.B. der "4 Sep 1766" aus der GEDCOM-Datei im Feld "birthdate" als Text gespeichert.
Gleichzeitig wird beim GEDCOM-Import im Feld "birthdatetr" der Wert "1766-09-04" eingetragen.
"1766" in "birthdate" wird als "1766-00-00" im Feld "birthdatestr" gespeichert.
Fehlt die Angabe in "birthdate" komplett, dann wird in "birthdatestr" "0000-00-00" gespeichert.
Die Funktion "TO_DAYS" errechnet aus jedem beliebigen "birthdatestr" einen echten Zahlenwert, den man nun mit einem anderen Zahlenwert vergleichen kann.
Ich habe es noch nicht getestet, aber wenn man z.B. alle Personen auflisten wollte, die vor einem bestimmten Datum geboren sind, dann müßten bei obigem Beispiel auch alle Personen aufgelistet werden, die kein Geburtsdatum enthalten, da dort ja "0000-00-00" gespeichert wird.
Somit funktioniert die obige Auswertung also auch mit unvollständigen Geburtstagsangaben.
Gruß
Thomas