Seite 1 von 1

Abfrage funktioniert nicht mehr unter HSQL 2.3.3

Verfasst: So 13. Sep 2015, 10:11
von Freischreiber
Hallo,

nach dem Umstieg auf HSQL 2.3.3 liefert eine Abfrage, die unter 2.3.2 noch lief, einen Fehler.

Die Abfrage (soll alle Rechnungen anzeigen, die offen und älter als 7 Tage sind):

Code: Alles auswählen

SELECT "t-rnummern"."R-Nummer", "t-adressen"."Nachname", "t-rnummern"."AuftragID", "t-rnummern"."RBetrag", "t-rnummern"."RDatum", "t-rnummern"."Offen", DATEDIFF( 'dd', "t-rnummern"."RDatum", CURRENT_DATE ) AS "Tage", "t-adressen"."ID", "zt-auftraege-adressen"."AuftragID", "zt-auftraege-adressen"."AdressID" FROM "zt-auftraege-adressen", "t-adressen", "t-rnummern" WHERE "zt-auftraege-adressen"."AdressID" = "t-adressen"."ID" AND "zt-auftraege-adressen"."AuftragID" = "t-rnummern"."AuftragID" AND "t-rnummern"."Offen" = TRUE AND DATEDIFF( 'dd', IFNULL( "t-rnummern"."RDatum", '2000-01-01' ), CURRENT_DATE ) >= 7 ORDER BY "t-rnummern"."RDatum" ASC 
Der Fehler:
SQL-Status: 42562
Fehler-Code: -5562
incompatible data types in combination
Wenn ich das letzte Kriterium weglasse:

Code: Alles auswählen

AND DATEDIFF( 'dd', IFNULL( "t-rnummern"."RDatum", '2000-01-01' ), CURRENT_DATE ) >= 7
dann geht sie, aber wo da ein Fehler sein soll, weiß ich trotzdem nicht.

Gruß
Freischreiber

Ergänzung: Es liegt an dem IFNULL, das ich aber brauche, um die Rechnungen mit angezeigt zu bekommen, die noch kein Rechnungsdatum in der Tabelle haben. Das "Auffangdatum" '2000-01-01' habe ich im Verdacht, aber ohne Anführungszeichen oder mit doppelten geht es auch nicht...

Re: Abfrage funktioniert nicht mehr unter HSQL 2.3.3

Verfasst: So 13. Sep 2015, 17:13
von RobertG
Hallo Freischreiber,

versuche einmal eine andere Syntax für den Datumswert:
{D'JJJJ-MM-TT'}
{d 'JJJJ-MM-TT'}
wären laut Hilfe auch möglich. (Stichwort Hilfe: Abfrageentwurf)

Das richtet sich leider ganz nach der verwendeten Datenbank und der Verbindung zu dieser Datenbank. Mit der eingebauten HSQLDB funktioniert Dein Code.

Gruß

Robert

Re: Abfrage funktioniert nicht mehr unter HSQL 2.3.3

Verfasst: So 13. Sep 2015, 18:02
von Freischreiber
Hallo Robert,

das hab ich ja noch nie gesehen mit { } und D... und es kommt aus der Base-Hilfe... und es funktioniert beides.
Komisch, auch die 2.3.2 brauchte das nicht, '...' hat da gereicht. Die Verbindung war und ist JDBC.

Danke!

Gruß
Freischreiber

Re: Abfrage funktioniert nicht mehr unter HSQL 2.3.3

Verfasst: Mo 14. Sep 2015, 08:19
von Freischreiber
Hallo,

jetzt hab ich noch eine Frage:

Der JDBC-Treiber ist in der hsqldb.jar-Datei enthalten? Oder muß man noch an einer anderen Stelle den Treiber aktualisieren, wenn man auf eine neuere HSQL-Version umsteigt? Bisher habe ich nur diese eine Datei aus dem HSQL-Zip in meine Datenbank kopiert.

Gruß
Freischreiber

Ergänzung: Es gibt hier: http://www.oracle.com/technetwork/datab ... 80470.html
noch JDBC-Treiber.