Moin!
habe eine Abfrage die mir alle Datensätze liefert, die in den letzten 24 h keine Treffer liefern soll.
Diese Formulierung ist falsch. Die Vergangenheit kannst du mit SQL nicht mehr beeinflussen. Entweder meinst du "die in den letzten 24 h keinen Treffer GELIEFERT HABEN", oder vielleicht "geändert wurden", oder sonst etwas.
Auf den letzten Tag funktioniert das, jedoch soll sie wirklich 24h genau sein, nicht 1 Tag!
SELECT * FROM tabelle WHERE
TO_DAYS(now()) - TO_DAYS(datum) >= 1
Dann solltest du nicht mit Tagen rechnen, sondern mit Stunden. Die Datumsfunktionen scheinst du im Manual gefunden zu haben, dort kann man genauso gut auch mit Stunden rechnen.
Und dann solltest du lieber eine einleuchtendere SQL-Konstruktion verwenden:
WHERE datum BETWEEN now() AND (now() - 24h)*
* Wobei das Konstrukt "now-24h" von dir noch korrekt zu formulieren wäre.
- Sven Rautenberg
"Love your nation - respect the others."