Hallo sschultewolter,
sschultewolter hat geschrieben:Code: Alles auswählen
SELECT "kunden".*, "kunden`.`VOLLWARTUNG", "kunden"."VOLLWARTUNG_ENDE"
FROM "xy"."kunden" AS "kunden"
WHERE "VOLLWARTUNG" = 1 AND DATEDIFF('dd',CURDATE(), "WARTUNG_ENDE" ) < 30
Was ist hier falsch? Bekomme die Fehlermeldung, "Incorrect parameter count in the call to native function 'DATEDIFF'
Die Anzahl der Parameter zu dem Befehl DATEDIFF soll angeblich nicht korrekt sein.
Mit welcher Datenbanbk arbeitest Du? Mit der internen HSQLDB? Die gesetzten Parameter scheinen von der Ansicht her korrekt zu sein. 'dd' für Tage, CURDATE() für das aktuelle Datum und "Wartung_Ende" für ein zweites Datum.
Ich sehe
FROM "xy"."kunden"
und werfe noch einmal einen Blick auf das erste Posting - da steht etwas von MySQL.
DATEDIFF in MySQL hat nur zwei Parameter und liest grundsätzlich nur den Unterschied in Tagen aus - das würde die Fehlermeldung "Falsche Parameteranzahl" erklären. Also nur die Angaben
DATEDIFF(CURDATE(), "WARTUNG_ENDE")
ergeben unter MySQL den Tagesunterschied. Gegebenenfalls noch die Datumsfolge ändern.
Vor dem Hintergrund MySQL stimmt dann auch die Formulierung CURDATE()+1 ist Morgen - nur hat MySQl da ein bisschen Probleme mit der Anzeige als Datum. Die erfolgt ohne Bindestriche.
Gruß
Robert