SQL-Abfrage, die das Alter ermittelt anhand des Geburtsdatums
[Edit Biber] Titel angepasst. Siehe unten [/Edit]
Hallo,
ich habe folgendes Problem, ich habe eine Access Datenbank in der Namen und die Geburtsdaten drin enthalten sind.
Ziel ist das aktuellle Alter in Jahren durch eine Abfrage zu ermitteln. Max Müller 01.01.1900 Alter ? Um das Alter zu ermitteln brauche ich eine Lösung????
Wie kann ich das realiseren???
Brauche Hilfe!
Anhand des Geburtsdatum des Kindes soll jetzt das tatsächliche Alter in Jahren in einer neuSpalte/Feld angezeigt werden!
Hallo,
ich habe folgendes Problem, ich habe eine Access Datenbank in der Namen und die Geburtsdaten drin enthalten sind.
Ziel ist das aktuellle Alter in Jahren durch eine Abfrage zu ermitteln. Max Müller 01.01.1900 Alter ? Um das Alter zu ermitteln brauche ich eine Lösung????
Wie kann ich das realiseren???
Brauche Hilfe!
Anhand des Geburtsdatum des Kindes soll jetzt das tatsächliche Alter in Jahren in einer neuSpalte/Feld angezeigt werden!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 60087
Url: https://administrator.de/forum/sql-abfrage-die-das-alter-ermittelt-anhand-des-geburtsdatums-60087.html
Ausgedruckt am: 21.04.2025 um 08:04 Uhr
9 Kommentare
Neuester Kommentar
Mit DatDiff geht es auch.
Da hat M$ was zu geschrieben
http://support.microsoft.com/default.aspx?scid=kb;de;D37560
Da hat M$ was zu geschrieben
http://support.microsoft.com/default.aspx?scid=kb;de;D37560
Moin Moelle,
bitte wirf mal einen Blick auf folgende Site Profilieren mit Rechtschreibung und gab mal bitte Feedback, ob Dir irgendetwas davon bekannt vorkommt.
Falls ja, bring mal bitte Deine Frage in eine forums-, biber- und nettiquette-verträgliche Form. Danke.
Mit reinem M$-Access-SQL geht es etwas stressärmer... was M$ in diesem Beispiel zusammengeschrotet hat, finde ich ja nicht so motivierend...
...ausgerechnet die machen Code-Vorschläge...*gngngngn
Meine Variante (ich sach mal, die Felder heißen "Name" und "Burzeltach")
Die im Schnitt 364.3 als durchschnittliche Tagesanzahl pro Jahr sind nur ein gefühlter Näherungswert - ich hab mir nicht die Mühe gemacht, wikipedia o.ä. zu befragen. Ggf anpassen.
Die "Esrtellungsabfrage" im Titel ändere ich schon mal um in "Abfrage".
Gruß
Biber
bitte wirf mal einen Blick auf folgende Site Profilieren mit Rechtschreibung und gab mal bitte Feedback, ob Dir irgendetwas davon bekannt vorkommt.
Falls ja, bring mal bitte Deine Frage in eine forums-, biber- und nettiquette-verträgliche Form. Danke.
Mit reinem M$-Access-SQL geht es etwas stressärmer... was M$ in diesem Beispiel zusammengeschrotet hat, finde ich ja nicht so motivierend...
...ausgerechnet die machen Code-Vorschläge...*gngngngn
Meine Variante (ich sach mal, die Felder heißen "Name" und "Burzeltach")
SELECT Name, int ((now() -burzeltach)/364.3) as Alter
from Deinetabelle;
Die im Schnitt 364.3 als durchschnittliche Tagesanzahl pro Jahr sind nur ein gefühlter Näherungswert - ich hab mir nicht die Mühe gemacht, wikipedia o.ä. zu befragen. Ggf anpassen.
Die "Esrtellungsabfrage" im Titel ändere ich schon mal um in "Abfrage".
Gruß
Biber
Moin Moelle,
wenn Du nicht aufhörst mit den 4 Ausrufungszeichen und den 4 Fragezeichen am Ende der Sätze, dann nehm ich Dir die Tastutur weg.
Dennoch danke fürs Editieren.
Abgesehen davon:
[Ich unterstelle jetzt mal, dass die Tabelle "Grunddaten" heißt und das Feld mit dem Geburtsdatum des Kindes "Geburtsdatum_des_Kindes".
Bei der Berechnung, wieviele Tage wohl ein Jahr im Durchschnitt hat, habe ich mich gestern ein wenig blöd angestellt, sorry.
Jetzt berechne ich die Summe aller Tage in 100 Jahren (1.1.1900-31.12.1999) und teile das durch 100. Raus kommt dann 365,23.
Hier nochmal eine Debug-Abfrage zum besseren Verständnis:
Gruss
Biber
wenn Du nicht aufhörst mit den 4 Ausrufungszeichen und den 4 Fragezeichen am Ende der Sätze, dann nehm ich Dir die Tastutur weg.
Dennoch danke fürs Editieren.
Abgesehen davon:
[Ich unterstelle jetzt mal, dass die Tabelle "Grunddaten" heißt und das Feld mit dem Geburtsdatum des Kindes "Geburtsdatum_des_Kindes".
SELECT Grunddaten.*,
int((now()-Geburtsdatum_des_Kindes)/((#31-12-1999# - #01-01-1900#) / 100)) AS [Alter]
FROM Grunddaten;
Bei der Berechnung, wieviele Tage wohl ein Jahr im Durchschnitt hat, habe ich mich gestern ein wenig blöd angestellt, sorry.
Jetzt berechne ich die Summe aller Tage in 100 Jahren (1.1.1900-31.12.1999) und teile das durch 100. Raus kommt dann 365,23.
Hier nochmal eine Debug-Abfrage zum besseren Verständnis:
SELECT Grunddaten.*,
int((now()-Geburtsdatum_des_Kindes)/((#31-12-1999# - #01-01-1900#) / 100)) AS [Alter],
((now()-Geburtsdatum_des_Kindes)/((#31-12-1999# - #01-01-1900#) / 100 )) AS [Alter2],
(#31-12-1999# - #01-01-1900#) / 100 as TageProJahr
FROM Grunddaten;
Gruss
Biber
Moin Moelle,
dann danke für das Unterdrücken der Ausrufungszeichen - und Du wirst sehen, Du bekommst auch Antworten ohne diese. Wir wissen alle, dass die Fragen für den Fragesteller wichtig sind und nehmen das ernst.
So, mit dem Statement sind wir schon nah dran - wir müssen nur noch den tatsächlichen Namen des Feldes (das oben in Deinem Screenshot nur teilweise angezeigt wird) einsetzen.
Bitte öffne dazu die Tabelle "Grunddaten" im Entwurfmodus (mit der Maus auf die Tabelle, rechte Maustaste -> "Entwurfsansicht"), gehe auf das Feld nach Adresse_PLZ, das irgendwie mit "Geburtsdatum d" anfängt, markier das und kopiere Dir diesen Namen mit STRG-C.
Gehe wieder in Deine neu erzeugte Abfrage, markiere dort "Geburtsdatum_des_Kindes" und Drücke STRG-V.
Füge vor und nach dem Namen noch eine EckigeKlammer-Auf bzw -Zu ein ("[" und "]").
Dann sollte es fliegen.
Gruß
Biber
dann danke für das Unterdrücken der Ausrufungszeichen - und Du wirst sehen, Du bekommst auch Antworten ohne diese. Wir wissen alle, dass die Fragen für den Fragesteller wichtig sind und nehmen das ernst.
So, mit dem Statement sind wir schon nah dran - wir müssen nur noch den tatsächlichen Namen des Feldes (das oben in Deinem Screenshot nur teilweise angezeigt wird) einsetzen.
Bitte öffne dazu die Tabelle "Grunddaten" im Entwurfmodus (mit der Maus auf die Tabelle, rechte Maustaste -> "Entwurfsansicht"), gehe auf das Feld nach Adresse_PLZ, das irgendwie mit "Geburtsdatum d" anfängt, markier das und kopiere Dir diesen Namen mit STRG-C.
Gehe wieder in Deine neu erzeugte Abfrage, markiere dort "Geburtsdatum_des_Kindes" und Drücke STRG-V.
Füge vor und nach dem Namen noch eine EckigeKlammer-Auf bzw -Zu ein ("[" und "]").
Dann sollte es fliegen.
Gruß
Biber