Esteba: Zeitspanne zu Datum-Typ addieren

Beitrag lesen

Hallo allerseits,

Ich möchte aus einer Tabelle in einer MySQL-Datenbank Einträge löschen, bei denen das Datum in der Spalte "gelesen" (gibt an, wann der Eintrag als "gelesen" markiert wurde) eine bestimmte Zeitspanne her ist, zum Beispiel 24 Stunden oder eine Woche. Wäre mit Timestamps natürlich kein Problem, ich möchte aber in dem Fall mit Datetime-Typen arbeiten. Wie löse ich das am elegantesten?

Ich hab mal ein bisschen rumgesucht und bin auf zwei Funktionen gestoßen:
Zum einen DATEDIFF, die mir aber nicht geeignet erscheint, weil sie ja zum Beispiel auch bei 23:59 und 0:01 Uhr bei zwei aufeinanderfolgenden Tagen eine Stunde als Unterschied angibt.
Zum anderen DATEADD, die eigentlich genau das ist, was ich gesucht habe. Beim Query "[...] WHERE DATEADD(Hour, 24, gelesen)<=NOW()" wird mir aber gemeldet "Unknown column 'Hour' in 'where clause'", was mich doch sehr verwundert, wo die Syntax in sämtlichen SQL-Tutorials genau so war. Ist die Funktion möglicherweise nur in Transact SQL verfügbar? Und was gibt es dann für Alternativen?

Gruß,
Esteba