I MariaDB, SEC_TO_TIME()
är en inbyggd datum- och tidsfunktion som returnerar ett tidsvärde baserat på antalet sekunder som anges som argument.
Syntax
Syntaxen ser ut så här:
SEC_TO_TIME(seconds)
Exempel
Här är ett exempel:
SELECT SEC_TO_TIME(1);
Resultat:
+----------------+ | SEC_TO_TIME(1) | +----------------+ | 00:00:01 | +----------------+
Här är en till:
SELECT SEC_TO_TIME(18520);
Resultat:
+--------------------+ | SEC_TO_TIME(18520) | +--------------------+ | 05:08:40 | +--------------------+
Utanför intervall sekunder
Omfånget för resultatet är begränsat till tidsdatatypen. En varning uppstår om argumentet motsvarar ett värde utanför det intervallet. Intervallet för MariaDB-tidsvärden är '-838:59:59.999999'
till '838:59:59.999999'
.
Hur som helst, här är ett exempel på en tid med värden som ligger i den övre delen av det accepterade intervallet:
SELECT SEC_TO_TIME(3020399);
Resultat:
+----------------------+ | SEC_TO_TIME(3020399) | +----------------------+ | 838:59:59 | +----------------------+
Och här är en som går utanför intervallet:
SELECT SEC_TO_TIME(3020400);
Resultat:
+----------------------+ | SEC_TO_TIME(3020400) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.000 sec)
Här är varningen:
SHOW WARNINGS;
Resultat:
+---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 1292 | Truncated incorrect seconds value: '3020400' | +---------+------+----------------------------------------------+
Mikrosekunder
Vi kan gå ännu närmare det övre området genom att inkludera mikrosekunder:
SELECT SEC_TO_TIME(3020399.999999);
Resultat:
+-----------------------------+ | SEC_TO_TIME(3020399.999999) | +-----------------------------+ | 838:59:59.999999 | +-----------------------------+
Negativa argument
Att ange ett negativt belopp resulterar i ett negativt tidsvärde.
Exempel:
SELECT SEC_TO_TIME(-3020399);
Resultat:
+-----------------------+ | SEC_TO_TIME(-3020399) | +-----------------------+ | -838:59:59 | +-----------------------+
Argument saknas
Ringer SEC_TO_TIME()
med fel antal argument, eller utan att skicka några argument, resulterar i ett fel:
SELECT SEC_TO_TIME();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
Och ett annat exempel:
SELECT SEC_TO_TIME( 123, 456 );
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
Gör en tid
Se även MAKETIME()
för att konstruera ett tidsvärde från dess timmar, minuter och sekunder.