1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Volljährigkeit ermitteln anhand Geburtsdatum

Dieses Thema im Forum "Oracle" wurde erstellt von FrenchSpirit, 4 März 2019.

  1. FrenchSpirit

    FrenchSpirit Aktiver Benutzer

    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
     
  2. castorp

    castorp Datenbank-Guru

    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
     
    FrenchSpirit gefällt das.
  3. FrenchSpirit

    FrenchSpirit Aktiver Benutzer

    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" ?
     
  4. castorp

    castorp Datenbank-Guru

    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
     
    FrenchSpirit, Walter und akretschmer gefällt das.
  5. drdimitri

    drdimitri Datenbank-Guru

    select add_months(gebdat,12*18) from dual;
     
    FrenchSpirit gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden