Konvertieren Sie die Zeit in Sekunden um in PostgreSQL
Ich habe einen time-Wert 04:30:25, die ich konvertieren möchte, um Sekunden.
Gibt es eine dedizierte Funktion, um dies zu tun?
Ich weiß, dass wir extrahieren können Stunden, Minuten und Sekunden an, dann berechnen Sie die Sekunden.
SELECT EXTRACT(hour FROM t)*60*60
+ EXTRACT(minutes FROM t)*60
+ EXTRACT(seconds FROM t)
FROM test;
Aber ich will einen anderen Weg...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht können Sie es ein-Funktion (nur ein quick-setup, bitte überprüfen und bei Bedarf ändern)?
Dann verwenden Sie einfach es in Ihre Abfragen:
Gibt:
Haben Sie versucht mit:
Wenn das nicht funktioniert, könnten Sie versuchen, Präfix Ihre Zeit Wert mit '1970-01-01', und versuchen Sie:
Nicht getestet, aber es scheint, dies sind Ihre einzigen Optionen. Wahrscheinlich.
Können Sie überspringen Epoche oder ein Intervall, das heißt:
FLOOR(EXTRACT(EPOCH FROM column))
zu Runde nach unten und erhalten eine ganze ZahlWenn Sie möchten, zu emulieren, MySQL
time_to_sec
Funktion, könnte man eine Funktion wie diese:Es hat den Vorteil, dass es funktioniert mit PostgreSQL Abständen (ie: mehr als 24-Stunden-Zeiträume), die brechen würde die
to_seconds
Funktion in der akzeptierten Antwort.from_seconds auch wieder zurück konvertieren