In MariaDB SEC_TO_TIME()
ist eine integrierte Datums- und Zeitfunktion, die einen Zeitwert zurückgibt, basierend auf der Anzahl von Sekunden, die als Argumente bereitgestellt werden.
Syntax
Die Syntax lautet wie folgt:
SEC_TO_TIME(seconds)
Beispiel
Hier ist ein Beispiel:
SELECT SEC_TO_TIME(1);
Ergebnis:
+----------------+ | SEC_TO_TIME(1) | +----------------+ | 00:00:01 | +----------------+
Hier ist noch einer:
SELECT SEC_TO_TIME(18520);
Ergebnis:
+--------------------+ | SEC_TO_TIME(18520) | +--------------------+ | 05:08:40 | +--------------------+
Sekunden außerhalb des Bereichs
Der Bereich des Ergebnisses ist auf den des Zeitdatentyps beschränkt. Eine Warnung tritt auf, wenn das Argument einem Wert außerhalb dieses Bereichs entspricht. Der Bereich für MariaDB-Zeitwerte ist '-838:59:59.999999'
zu '838:59:59.999999'
.
Wie auch immer, hier ist ein Beispiel für eine Zeit mit Werten, die am oberen Ende ihres akzeptierten Bereichs liegen:
SELECT SEC_TO_TIME(3020399);
Ergebnis:
+----------------------+ | SEC_TO_TIME(3020399) | +----------------------+ | 838:59:59 | +----------------------+
Und hier ist einer, der außerhalb des Bereichs liegt:
SELECT SEC_TO_TIME(3020400);
Ergebnis:
+----------------------+ | SEC_TO_TIME(3020400) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.000 sec)
Hier ist die Warnung:
SHOW WARNINGS;
Ergebnis:
+---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 1292 | Truncated incorrect seconds value: '3020400' | +---------+------+----------------------------------------------+
Mikrosekunden
Wir können noch näher an den oberen Bereich herangehen, indem wir Mikrosekunden einbeziehen:
SELECT SEC_TO_TIME(3020399.999999);
Ergebnis:
+-----------------------------+ | SEC_TO_TIME(3020399.999999) | +-----------------------------+ | 838:59:59.999999 | +-----------------------------+
Negative Argumente
Die Angabe eines negativen Betrags führt zu einem negativen Zeitwert.
Beispiel:
SELECT SEC_TO_TIME(-3020399);
Ergebnis:
+-----------------------+ | SEC_TO_TIME(-3020399) | +-----------------------+ | -838:59:59 | +-----------------------+
Fehlendes Argument
Aufruf von SEC_TO_TIME()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT SEC_TO_TIME();
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
Und noch ein Beispiel:
SELECT SEC_TO_TIME( 123, 456 );
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
Mach dir Zeit
Siehe auch MAKETIME()
zum Konstruieren eines Zeitwerts aus seinen Stunden, Minuten und Sekunden.