Hallöchen,
ich habe in einer Oracle-Datenbank eine Reihe von Geburtstagen.
Nun möchte ich wissen, wann der 30.Geburtstag von den Leuten ist.
Das Ergebnis soll „Date-tauglich“ sein.
zB. Jemand ist am 27.08.1976 geboren.
nun bräuchte ich als Ergebniss 27.08.2006 00:00:00
Oracle denkt ja bei Datumsgeschichten in Tagen. Also dachte ich, ich addiere auf den Geburtstag 30 * 365.
Aber was passiert, wenn ich ein Schlatjahr habe?
Kann mir jemand helfen?
Gruß
Sina
Hallo,
habe zwar gerade keine Datenbank hier, aber wie wär’s mit:
select to\_date(to\_char(geburtstag, 'dd.mm.')||to\_char(to\_number(to\_char(geburtstag, 'YYYY'))+30), 'dd.mm.yyyy') from geburtstage;
Annahme: Tabelle Geburtstage mit Spalte Geburtstag(Date)
Gruß, muzel
Hi,
es gibt unter Oracle eine Funktion die das kann:
add_months( date1, n )
select add_months( geburtstag, 30*12 ) from …;
da jedes Jahr 12 Monate hat, geht es mit dieser Funktion etwas besser.
Gruß Patrick
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
1 „Gefällt mir“
Hallo Patrick,
super, passt
Vielen Dank