Altersberechnug

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Altersberechnug

Re: Altersberechnug

von Barlee » Fr, 19.06.2009 22:10

Hallo Tino,

Danke für die Rückmeldung.
Freut mich, wenn ich helfen konnte.

Gruß Barlee

Re: Altersberechnug

von Barlee » Fr, 19.06.2009 21:01

Hallo Tino,

ganz einfach!
Du ersetzt DATEDIFF( 'yy', "Geb am", CURRENT_DATE )
durch das, was Du umgestellt hast (CASE ... END AS "Alter")

Gruß Barlee

Re: Altersberechnug

von Barlee » Mi, 17.06.2009 20:09

Hallo

eins vorweg: Die Formel liefert ein vollkommen korrektes Ergebnis und hat auch keinen Fehler. Sie ermittelt nunmal nur die Jahresdifferenz zwischen dem aktuellen und dem angegebenen (Geburts-) -Datum. Daher "DATEDIFF( 'yy'..."
Möchtest Du das genaue Alter, dann müssen Monate und Tage mitbetrachtet werden.

Passe folgendes an und baue es in Deine Abfrage ein:

Code: Alles auswählen

CASE 
WHEN MONTH("Geburtsdatum") > MONTH(CURRENT_DATE) 
THEN DATEDIFF( 'yy', "Geburtsdatum", CURRENT_DATE )-1
WHEN MONTH("Geburtsdatum") = MONTH(CURRENT_DATE) 
THEN 
(
CASE 
WHEN DAY("Geburtsdatum") > DAY(CURRENT_DATE) 
THEN DATEDIFF( 'yy', "Geburtsdatum", CURRENT_DATE )-1 
ELSE DATEDIFF( 'yy', "Geburtsdatum", CURRENT_DATE )
END
)
ELSE DATEDIFF( 'yy', "Geburtsdatum", CURRENT_DATE )
END AS "Alter"
SQL direkt ausführen aktivieren! Spaltenbezeichner, Tabellennamen und Aliase in Anführungsstriche!

Gruß Barlee

Re: Altersberechnug

von Barlee » Sa, 07.02.2009 23:44

Hallo Tilmann,

ja, korrekt. Es handelt sich um HSQLDB Syntax.
Bliebe Dir also nur der Weg, aus der csv-Datei eine HSQLDB Tabelle zu machen. Bei Interesse siehe hier:
http://www.ooowiki.de/csvDatentabelle/Import

Gruß Barlee

Re: Altersberechnug

von Barlee » Sa, 07.02.2009 18:52

Hallo Tilmann,

vermutlich benutzt Du die falsche Datenbank. Um den Befehl auszuführen, benötigst Du HSQLDB.

Ggf. musst Du das Paket "hsqldb" nachinstallieren
Vgl. auch: viewtopic.php?f=8&t=19478&p=82498&hilit=hsqldb#p82498

Gruß Barlee

Re: Altersberechnug

von Barlee » Di, 30.12.2008 20:36

Hallo Löschknecht,

Datumsberechnungen in der integrierten Datenbank HSQLDB werden bisher nicht bzw. sehr rudimentär unterstützt. Hilfreiche Funktionen, wie sie aus anderen DB Systemen bekannt sind (z.B. ADD_MONTHS, DATE_ADD), stehen nicht zur Verfügung.
Trotzdem kannst Du zum Ziel kommen:
Möchtest Du lediglich auf das Geburtsjahr die 18 hinzurechnen? D.h. genügt es Dir, nur das Jahr -ohne den Tag- zu erhalten, dann kannst Du folgende Zeile hinter dem SELECT und vor FROM einfügen:

Code: Alles auswählen

...
YEAR("Geburtsdatum")+18 as "Volljährig"
...
Benötigst Du darüberhinaus die genaue Angabe des Tages, dann müssten Schaltjahre berücksichtigt werden. Auch das ließe sich hinbekommen. Allerdings müsste dann geklärt werden, welchem Datum die Geburtstage der Personen zugeordnet werden, die zwar am 29.2. geboren sind, deren 18. Geburtstag aber in keinem Schaltjahr stattfindet.
Falls Du in der Art etwas benötigst, dann melde Dich am besten noch einmal.

Gruß Barlee

Re: Altersberechnug

von loeschknecht4711 » So, 28.12.2008 13:59

Hallo,
Problem gelöst dank Eurer Hilfe. Das nächste ist schon da wie kann ich auf ein Geburtsdatum 18 Jahre hinzurechen. Damit ich den Tag des 18. Geburtstags bestimmen kann?

MfG

Löschknecht 4711

Re: Altersberechnug

von bello15 » Sa, 27.12.2008 16:42

Hallo loeschknecht4711,
Du hast erst wenige Beiträge im Forum geschrieben, vielleicht bis Du noch etwas ungeübt mit Base (falls doch, sorry).
Du hast eine Tabelle mit Namen "So_wie_noch" mit einer Spalte "geburtsdatum"
Du machst eine Abfrage mit dem Assistenten, wählst Deine Tabelle und von dieser Tabelle die Spalte Geburtsdatum.
Die Abfrage speichert Du unter dem Namen Deiner Wahl z.B. Test.
Klicke in der Übersicht der gespeicherten Abfragen mit rechts an und wähle Mit SQL bearbeiten.
Hier findest Du Deine bisherige Abfrage, die Du so ergänzen musst wie unten
SELECT
"geburtsdatum",
DATEDIFF('yy',"geburtsdatum",CURRENT_DATE) AS "Result" FROM "So_wie_noch"

Auspassen. die beiden yy stehen in ' '

Re: Altersberechnug

von loeschknecht4711 » Sa, 27.12.2008 15:46

Hallo Barlee,

vielen Dank für Deine schnelle Reaktion. Es funktioniert aber leider nicht. Hast Du noch eine Idee?

Gruß

Löschknecht

Re: Altersberechnug

von Barlee » Sa, 27.12.2008 14:47

Hallo loeschknecht,

das ist ganz einfach:

Code: Alles auswählen

SELECT
"[Spalte_mit_Geburtsdatum]",
DATEDIFF('yy', "[Spalte_mit_Geburtsdatum]",CURRENT_DATE) as "Alter"
from "[Deine_Tabelle]"
Gruß Barlee

Altersberechnug

von loeschknecht4711 » Sa, 27.12.2008 13:54

Hallo,

wie kann ich in einer Base Datenbank das Alter aus dem Geburtsdatum berechnen?

Nach oben