Frage

Wenn ich diese Abfrage:

SELECT COUNT(*) FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2

MySQL führt die Abfrage ohne Fehler und ich erhalte die Anzahl der Zeilen, die nicht innerhalb der letzten 2 Tage aktualisiert haben. Allerdings, wenn ich die Abfrage wie folgt zu ändern:

SELECT * FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2

ich die folgende Fehlermeldung erhalten:

#1305 - FUNCTION mydatabase.DATEDIFF does not exist

Alle Ideen, warum das so ist?

War es hilfreich?

Lösung

Ich habe ein ähnliches Problem habe, wo es würde auf SELECT nicht funktionieren, wenn ich das LIMIT nicht gesetzt hatte.

Versuchen Sie, etwas zu tun:

SELECT * FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2 LIMIT 0, 10

Es wird auf einem MySQL-Update behoben. Versuchen Sie, auch Ihre MySQL-Version zu aktualisieren.

Andere Tipps

Stellen Sie sicher, dass Sie keinen Raum zwischen DATEDIFF haben und die Halterung (.

Möglicherweise könnten Sie auch versuchen, SET sql_mode = "IGNORE_SPACE";

Überprüfen Sie auch diese bugreport .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top