Hallo Jürgen,
Post by JürgenCURRENT_DATE oder CURDATE (beide mit und ohne eckige Klammern)haben mir
in der Abfrage auch nicht geholfen. Irgendeinen "Platzhalter" muß es
doch für Berechnungen mit dem aktuellen Datum auch (besser: ganz
besonders) in Abfragen geben. Leider konnte ich bislang nichts finden....
Grundlage 1:
Wenn Du so ins Detail gehst, dass Du Funktionen aus der hsqldb nutzt,
dann schalte den grafischen Editor aus und schreibe die entsprechende
Funktion als Text an die entsprechenden Stellen.
Grundlage 2: Manche Funktionalitäten bietet OpenOffice bei der Datenbank
nicht an, solange die grafische Oberfläche dazwischengeschaltet ist. Da
ist es dann notwendig, die Befehle per direktem SQL zu geben. Dafür gibt
es einen zusätzlichen Button. Hiervon ist allerdings die
Geburtsdatumsberechnung nicht berührt.
Ich kopiere im Folgenden einfach einmal eine Abfrage aus einer meiner
Datenbanken ein:
SELECT "gruID", "Nachname", "Vorname", "AufDat", CASEWHEN( DAYOFYEAR(
"GebDat" ) > DAYOFYEAR( NOW( ) ), DATEDIFF( 'yy', "GebDat", NOW( ) ) -
1, DATEDIFF( 'yy', "GebDat", NOW( ) ) ) AS "Alter", DATEDIFF( 'yy',
"GebDat", NOW( ) ) AS "Alter_aktuelles_Jahr" FROM
"Mitglied_aktuell_Ansicht" ORDER BY "gruID" ASC, "Alter" DESC
Diese Ansicht erhalte ich, wenn ich die Abfrage mit rechtem Mausklick
unter SQL-Ansicht bearbeiten öffne.
Die Tabelle heißt "Mitglied_aktuell_Ansicht". Der Auswahlbefehl gibt 6
Spalten aus: gruID, Nachname usw. In der letzten Spalte wird das Alter
abgebildet, das sich auf das aktuelle Jahr bezieht. Im Sport werden z.B.
danach die Wettkampfklassen eingeteilt. Diese Altersermittlung ist die
der einfachen Struktur.
Wenn diese Abfrage hast Du die halbe Miete. DATEDIFF usw. kannst Du
natürlich auch in der grafischen Benutzeroberfläche eingeben - nur ist
die Enge des Feldes dafür nicht besonders hilfreich. 'yy' gibt an, dass
die Jahreseingabe des Datums zählt, GebDat ist das Feld, auf das sich
alles bezieht und NOW() ist das jetzige Datum. Die oben genannten
eckigen Klammern verstehe ich nicht. CURDATE() steht in der Anleitung.
CURRENT_DATE müsste ohne Klammern zu nutzen sein.
Gruß
Robert