von Der_Paul » Mo, 13.06.2016 22:01
Hallo Robert,
habe die Abfrage kopiert und etwas angepasst.
SELECT "Vorname", "Name", "Geburtsdatum", CASEWHEN( DAYOFYEAR( "Kontakte"."Geburtsdatum" ) > DAYOFYEAR( CURDATE( ) ), DATEDIFF( 'yy', "Kontakte"."Geburtsdatum", CURDATE( ) ) - 1, DATEDIFF( 'yy', "Kontakte"."Geburtsdatum", CURDATE( ) ) ) "Jahre" FROM "Kontakte" ORDER BY "Name" ASC
Kann CURDATE durch ein genaues Datum ersetzt werden. Um z. B. das Alter am 01.07.2016 als Ergebnis zu bekommen? hm... wenn ich die Antwort von dir lese, muss ich dann auch etwas am 'yy' ändern?
=== EDIT ===
Wenn ich das richtig Verstehe, muss ich aus 'yy' 'd' für Tage machen und diese dann durch 365 teilen. Und das Ergebnis ohne Nachkommastelle anzeigen lassen.
=== EDIT 2 ===
Was hältst du von dieser Lösung? Auf den ersten Blick, zu später Uhrzeit, scheint sie zu machen was sie soll.
SELECT "Vorname", "Name", "Geburtsdatum", CASEWHEN( DAYOFYEAR( "Kontakte"."Geburtsdatum" ) > DAYOFYEAR( '2016-08-01' ), DATEDIFF( 'yy', "Kontakte"."Geburtsdatum", '2016-08-01' ) - 1, DATEDIFF( 'yy', "Kontakte"."Geburtsdatum", '2016-08-01' ) ) "Jahre" FROM "Kontakte" ORDER BY "Name" ASC
Viele Grüße
Paul
Hallo Robert,
habe die Abfrage kopiert und etwas angepasst.
SELECT "Vorname", "Name", "Geburtsdatum", CASEWHEN( DAYOFYEAR( "Kontakte"."Geburtsdatum" ) > DAYOFYEAR( CURDATE( ) ), DATEDIFF( 'yy', "Kontakte"."Geburtsdatum", CURDATE( ) ) - 1, DATEDIFF( 'yy', "Kontakte"."Geburtsdatum", CURDATE( ) ) ) "Jahre" FROM "Kontakte" ORDER BY "Name" ASC
Kann CURDATE durch ein genaues Datum ersetzt werden. Um z. B. das Alter am 01.07.2016 als Ergebnis zu bekommen? hm... wenn ich die Antwort von dir lese, muss ich dann auch etwas am 'yy' ändern?
=== EDIT ===
Wenn ich das richtig Verstehe, muss ich aus 'yy' 'd' für Tage machen und diese dann durch 365 teilen. Und das Ergebnis ohne Nachkommastelle anzeigen lassen.
=== EDIT 2 ===
Was hältst du von dieser Lösung? Auf den ersten Blick, zu später Uhrzeit, scheint sie zu machen was sie soll.
SELECT "Vorname", "Name", "Geburtsdatum", CASEWHEN( DAYOFYEAR( "Kontakte"."Geburtsdatum" ) > DAYOFYEAR( '2016-08-01' ), DATEDIFF( 'yy', "Kontakte"."Geburtsdatum", '2016-08-01' ) - 1, DATEDIFF( 'yy', "Kontakte"."Geburtsdatum", '2016-08-01' ) ) "Jahre" FROM "Kontakte" ORDER BY "Name" ASC
Viele Grüße
Paul