In MariaDB, SEC_TO_TIME()
is een ingebouwde datum- en tijdfunctie die een tijdwaarde retourneert, gebaseerd op het aantal seconden dat als argument wordt opgegeven.
Syntaxis
De syntaxis gaat als volgt:
SEC_TO_TIME(seconds)
Voorbeeld
Hier is een voorbeeld:
SELECT SEC_TO_TIME(1);
Resultaat:
+----------------+ | SEC_TO_TIME(1) | +----------------+ | 00:00:01 | +----------------+
Hier is er nog een:
SELECT SEC_TO_TIME(18520);
Resultaat:
+--------------------+ | SEC_TO_TIME(18520) | +--------------------+ | 05:08:40 | +--------------------+
Buiten bereik seconden
Het bereik van het resultaat is beperkt tot dat van het gegevenstype tijd. Er wordt een waarschuwing weergegeven als het argument overeenkomt met een waarde buiten dat bereik. Het bereik voor MariaDB-tijdwaarden is '-838:59:59.999999'
naar '838:59:59.999999'
.
Hoe dan ook, hier is een voorbeeld van een tijd met waarden die zich aan de bovenkant van hun geaccepteerde bereik bevinden:
SELECT SEC_TO_TIME(3020399);
Resultaat:
+----------------------+ | SEC_TO_TIME(3020399) | +----------------------+ | 838:59:59 | +----------------------+
En hier is er een die buiten het bereik valt:
SELECT SEC_TO_TIME(3020400);
Resultaat:
+----------------------+ | SEC_TO_TIME(3020400) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.000 sec)
Hier is de waarschuwing:
SHOW WARNINGS;
Resultaat:
+---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 1292 | Truncated incorrect seconds value: '3020400' | +---------+------+----------------------------------------------+
Microseconden
We kunnen nog dichter bij het bovenste bereik komen door microseconden op te nemen:
SELECT SEC_TO_TIME(3020399.999999);
Resultaat:
+-----------------------------+ | SEC_TO_TIME(3020399.999999) | +-----------------------------+ | 838:59:59.999999 | +-----------------------------+
Negatieve argumenten
Het verstrekken van een negatief bedrag resulteert in een negatieve tijdswaarde.
Voorbeeld:
SELECT SEC_TO_TIME(-3020399);
Resultaat:
+-----------------------+ | SEC_TO_TIME(-3020399) | +-----------------------+ | -838:59:59 | +-----------------------+
Ontbrekend argument
Bellen SEC_TO_TIME()
met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:
SELECT SEC_TO_TIME();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
En nog een voorbeeld:
SELECT SEC_TO_TIME( 123, 456 );
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
Maak een tijd
Zie ook MAKETIME()
voor het construeren van een tijdwaarde uit de uren, minuten en seconden.