Auge: DATE_SUB(NOW(), INTERVAL 10 DAY

Beitrag lesen

Hallo

SELECT `titel` FROM abrechnungsdetails WHERE `von` = DATE(DATE_SUB(NOW(), INTERVAL 10 DAY))

jetzt verstehe ich gar nichts mehr. Ich bekomme zwar ein Ergebnis aber für mich ein falsches. Als Ausgabe erhalte ich dieses 2018-07-21

Die ganze Zeit sprichst du von heute minus 10 Tagen und nun ist es falsch?

Ahh, ich darf nicht DATE_SUB nehmen sondern DATE_ADD, dann wird mein Wert vom 2018-08-10.

Du kannst mit DATE_ADD auch in die Vergangenheit rechnen. Mit DATE(DATE_ADD(NOW(), INTERVAL -10 DAY)) gelangst du ebenso 10 Tage zurück wie mit DATE(DATE_SUB(NOW(), INTERVAL 10 DAY)) (beachte das Minus vor dem Zahlenwert). Ich frage mich nur, was du beim Funktionsnamen DATE_SUB anderes erwartet (und in der Doku ermittelt) hast, als Datumswerte in der Vergangenheit und nicht in der Zukunft zu ermitteln.

Tschö, Auge

--
Eine Kerze stand [auf dem Abort] bereit, und der Almanach des vergangenen Jahres hing an einer Schnur. Die Herausgeber kannten ihre Leser und druckten den Almanach auf weiches, dünnes Papier.
Kleine freie Männer von Terry Pratchett