Volljährigkeit ermitteln anhand Geburtsdatum

FrenchSpirit

Aktiver Benutzer
Beiträge
41
Hallo in die Runde,

ich habe in einer Tabelle (PE) das Geburtsdatum (GEBDAT) gespeichert.

Mit der Operation

PE.GEBDAT + 6570 erhalte ich ein Datum, das 6570 Tage nach dem Geburtsdatum liegt (6570 = 18 * 365 Tage).

Aufgrund der Schaltjahre ist das nicht mein gewünschtes Ergebnis.

Mit der Operation

add_months (PE.GEBDAT, 216)

kann ich 18 Jahre (18 * 12 Monate) draufschlagen.


Die Operation

add_years

scheint es nicht zu geben? Oder habe ich etwas beim Suchen hier und in Google übersehen?


Gruß und Danke vorab

Spirit
 
Werbung:
Addiere doch einfach 18 Jahre dazu:
Code:
select gebdat + interval '18' year
from pe
Alternativ, kannst Du auch das Jahr ausrechnen:
Code:
extract(year from gebdat) + 18
Der Tag/Monat bleibt ja gleich
 
Hallo, castorp,

vielen Dank für die schnelle Antwort. Ich habe gewusst, es ist sicher einfach zu lösen.

Welche Möglichkeiten gibt es mit "interval" neben "year" noch?

Ich habe es mit "month" und "second" probiert. Es geht mit allen Einheiten ausser "day" ?
 
Doch day geht auch, z.B.
Code:
select current_date + interval '250' day from dual
das ist aber das Gleiche wie
Code:
select current_date + 250 from dual
. Was nicht geht sind Wochen.

Das ist nur die Spitze des Eisberges, man kann damit auch Kombinationen von Jahren und Monaten oder Tage und Minuten angeben, z.B. INTERVAL '4 5:12' DAY TO MINUTE sind 4 Tage, 5 Stunden und 12 Minute

Mehr Details und Beispiele dazu sind in Handbuch zu finden.

SQL Language Reference
 
Werbung:
Zurück
Oben