Das alte DATEDIFF () erlaubte den Benutzern, drei Parameter zu verwenden, und ich versuchte dies zu tun, damit ich Stunden aus meinem DATEDIFF anstatt aus Tagen herausholen konnte (ich versuche, Stunden seit einem Beitrag anzuzeigen). In meiner Datenbank verwende ich ein TIMESTAMP und diese Codezeile, um einen Wert zu ziehen, und offensichtlich funktioniert es nicht, weil ich den zusätzlichen Parameter habe. Sobald ich die "Stunde" oder "hh" entferne, läuft die Abfrage und gibt einen Wert in Tagen zurück.
SELECT DATEDIFF(hour, CURDATE(), (SELECT Post_Date FROM Post_T WHERE pk_PostID = 1) )
Gibt es einen einfachen Weg, den stündlichen Wert zurückzugeben?
Auch ich benutze MYSQL Version 5.5.20.
Wie es in der Dokumentation steht:
DATEDIFF (Ausdruck1, Ausdruck2)
DATEDIFF () gibt expr1 - expr2 zurück, ausgedrückt als Wert in Tagen von eins Datum zum anderen. Ausdruck1 und Ausdruck2 sind Datum oder Datum und Uhrzeit Ausdrücke. Nur die Datumsteile der Werte werden in der Berechnung.
Wenn Sie das Ergebnis in Stunden möchten, sollten Sie Timestampdiff verwenden
TIMESTAMPDIFF (Einheit, datetime_expr1, datetime_expr2)
Gibt datetime_expr2 - datetime_expr1 zurück, wobei datetime_expr1 und datetime_expr2 sind Datums- oder Datetime-Ausdrücke. Ein Ausdruck kann sein ein Datum und das andere eine Datetime; Ein Datumswert wird als Datetime behandelt den Zeitteil '00: 00: 00 'haben, wo nötig. Die Einheit für die Das Ergebnis (eine Ganzzahl) wird durch das Einheitenargument angegeben.
Das Einheitenargument kann sein: MICROSECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR.
In Ihrem Fall können Sie Folgendes tun:
%Vor%