DATEDIFF () -Parameter Issue

7

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.

    
pcort 20.09.2013, 20:44
quelle

1 Antwort

21

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%     
Filipe Silva 20.09.2013, 21:29
quelle

Tags und Links