Bitte beachten Sie die folgende Abfrage:MySQL TIMEDIFF Rückkehr zu unerwarteten Ergebnissen
SELECT submitted_time FROM jobs WHERE timediff(NOW(), submitted_time) < '24:00:00'
Meine Hoffnung ist, für das alle Zeilen zurückgeben, die eine „submitted_time“ Spalte enthält einen Zeitstempel aufweisen, die innerhalb der letzten 24 Stunden war ich jedoch bin die folgenden Ergebnisse empfangen:
2017-01-18 14:58:34
2017-01-16 14:58:34
Wenn ich die Abfrage SELECT NOW()
laufen bekomme ich 2017-01-25 18:58:32
Welche scheint sei richtig.
Was Fremde immer noch ist, dass ich neuere Zeilen in der DB haben, wie:
2017-01-24 15:17:13
Welche sind nicht zurückgegeben.
Ich hoffe, ich habe einen offensichtlichen Fehler gemacht, auf den jemand hinweisen kann, anstatt den Abstieg in den Wahnsinn zu beginnen.
Sie können Datums- und Zeitstempelwerte direkt vergleichen. Es gibt keinen Grund, auf diese Weise Timediff zu machen. Innerhalb der letzten 24 Stunden würde einfach eine zwischenabfrage und die Verwendung von DATE_ADD involviert sein. Siehe hierzu: http://www.gizmola.com/blog/archives/51-Exploring-Mysql-CURDATE-und-NOW.-The-Same-But-Different..html – gview
Vielen Dank für den Link, den ich nehmen werde schau jetzt mal und schau ob ich meine Anfrage anpassen kann, leider ist MySql nicht mein starker Anzug :) – Aphire