Hier ist meine Frage:Wie formuliere ich eine SQL-Abfrage mit DATE_SUB, um nach Daten von gestern zu suchen ODER, wenn es Montag ist, um nach Daten von Freitag zu suchen?
SELECT *
FROM daily_records
AND date = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
ich diese verwenden, um einen Bericht über alles zu erzeugen, die gestern passiert ist. Das funktioniert super, Dienstag-Freitag. Ich möchte aber am Montag, dass ich bis Freitag (der vorherige Arbeitstag, zB INTERVAL 3 DAY
) zurück suchen kann.
Gibt es eine Möglichkeit, dies in mySQL zu tun? Oder muss ich nur den Wochentag in PHP überprüfen, bevor ich die Abfrage schreibe?
Ich mag das ... Ich denke, ich muss die 5 in der if-Anweisung ändern, so lautet es: IF (DATE_FORMAT ('% w', NOW()) = 1, 3, 1) weil NOW() würde sei Montag, nicht Freitag. Vielen Dank! – Jen
Eine andere Anmerkung - ich habe gerade DAYOFWEEK() und DATE_FORMAT() recherchiert und sie verwenden unterschiedliche Indizes. Mit DAYOFWEEK(), Sonntag = 1. Mit DATE_FORMAT(), Sonntag = 0. Wer weiß warum?!? – Jen
Das stimmt ... DAYOFWEEK folgt ODBC, DATE_FORMAT folgt ... ISO? – Greg