![]() |
Datenbank: Firebird • Version: 3.0 • Zugriff über: FireDac
Das Alter in Jahre, Monate und Tage ausgeben
Halo Zusammen,
gibt es eine Möglichkeit in einer Firebird StoredProc das Alter in Jahre, Monate und Tage einer Person auszugeben? In Excel gibt es einen Parameter bei DateDif "ym" "gibt die Anzahl der verbleibenden Monate nach dem letzten vollen Jahr zurück" ![]() |
AW: Das Alter in Jahre, Monate und Tage ausgeben
Eigentlich: die Differenz als INTERVAL und dort steht dann alles genau drin.
Und falls nötig kann man dort anschließend die Tage/Monate/Jahre einzeln rausholen. ![]() Falls das datediff der des DBMS nur einen Integer liefert, die Differenz einfach in Monaten. diff div 12 = Jahre diff mod 12 = Monate Rest = Tage Wenn diff Nachkommastellen hat, dann sind das die "Tage" des letzten Monats oder z.B. StartDatum mit dateadd(Jahre und Monate) ... und dann datediff(für Days) zum EndDatum |
AW: Das Alter in Jahre, Monate und Tage ausgeben
Code:
falls monate und tage aber nur anteilig gebraucht werden, musst du mit dateadd vom aktuellen geburtsdatum
select
datediff(year,cast('14.8.1966' as date),current_date) jahre, datediff(month,cast('14.8.1966' as date),current_date) monate, datediff(day, cast('14.8.1966' as date),current_date) tage from rdb$database JAHRE MONATE TAGE 58 696 21192 noch weiter rechnen, ist aber alles mit internen funktionen machbar (hb da ein anderes datum genommen, damit das ergebnis auch was zeigt)
Code:
select
datediff(year,cast('2.1.1966' as date),current_date) jahre, datediff(month,cast('2.1.'||extract(year from current_date) as date),current_date) monate, datediff(day, dateadd(month,datediff(month,cast('2.1.'||extract(year from current_date) as date),current_date),cast('2.1.'||extract(year from current_date) as date) ),current_date) tage from rdb$database JAHRE MONATE TAGE 58 7 19 |
AW: Das Alter in Jahre, Monate und Tage ausgeben
datediff(month,cast('2.1.'||extract(year from current_date) as date),current_date) monate,
Funktioniert das denn auch, wenn der Geburtstag dieses Jahr noch nicht gewesen ist, also z.B. mit 2.11.? |
AW: Das Alter in Jahre, Monate und Tage ausgeben
Ich habe hier eine Stored Function gefunden die genau das macht was ich brauche. :-)
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz