bei der Erstellung meiner Mitgliederdatenbank bin ich auf ein Problem gestoßen, für welches ich (noch) keine Lösung gefunden habe. Es geht um Berechnungen in einer SQL-Abfrage samt Parametereingabe.
Konkret: die Mitglieder sollen zu runden Geburtstagen oder bei runden Jahrestagen ihrer Mitgliedschaft ein entsprechendes Schreiben bekommen. Dazu habe ich die Felder "Geburtstag" und "Eintritt" mit denen ich arbeiten kann. Mittels einer Parameterabfrage hole ich mir das Jahr für welches die Berechnung gelten soll (damit man für ein beliebiges Jahr im Voraus sehen kann wer denn aller zu beglückwünschen ist).
Die einzelnen Abfragen funktionieren schon ganz gut so nach dem Muster:
Code: Alles auswählen
SELECT "Vorname", "Name", "Geburtstag", :Jahr - YEAR( "Mitglieder-Adressen"."Geburtstag" ) "Jubilaeum" FROM "Mitglieder-Adressen" WHERE MOD( "Jubilaeum", 5 ) = 0 AND "Jubilaeum" >= 70
Folgendes geht jedenfalls nicht:
Code: Alles auswählen
SELECT "Vorname", "Name", "Geburtstag", :Jahr as "Zeitpunkt", "Geburtstag" FROM "Mitglieder-Adressen" WHERE MOD( "Zeitpunkt" - "Geburtstag", 5 ) = 0
Code: Alles auswählen
Die Dateninhalte konnten nicht geladen werden.
SQL-Status: 37000 Fehler-Code: -16
Wrong data type: java.lang.IllegalArgumentException
Danke!