V MariaDB, SEC_TO_TIME()
je vestavěná funkce data a času, která vrací hodnotu času na základě počtu sekund poskytnutých jako argumenty.
Syntaxe
Syntaxe vypadá takto:
SEC_TO_TIME(seconds)
Příklad
Zde je příklad:
SELECT SEC_TO_TIME(1);
Výsledek:
+----------------+ | SEC_TO_TIME(1) | +----------------+ | 00:00:01 | +----------------+
Tady je další:
SELECT SEC_TO_TIME(18520);
Výsledek:
+--------------------+ | SEC_TO_TIME(18520) | +--------------------+ | 05:08:40 | +--------------------+
Mimo rozsah sekund
Rozsah výsledku je omezen na rozsah typu časových dat. Pokud argument odpovídá hodnotě mimo tento rozsah, zobrazí se varování. Rozsah časových hodnot MariaDB je '-838:59:59.999999'
na '838:59:59.999999'
.
Každopádně zde je příklad času s hodnotami, které jsou na horní hranici jejich přijatelného rozsahu:
SELECT SEC_TO_TIME(3020399);
Výsledek:
+----------------------+ | SEC_TO_TIME(3020399) | +----------------------+ | 838:59:59 | +----------------------+
A tady je jeden, který je mimo rozsah:
SELECT SEC_TO_TIME(3020400);
Výsledek:
+----------------------+ | SEC_TO_TIME(3020400) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.000 sec)
Zde je varování:
SHOW WARNINGS;
Výsledek:
+---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 1292 | Truncated incorrect seconds value: '3020400' | +---------+------+----------------------------------------------+
Mikrosekundy
Můžeme se ještě více přiblížit k hornímu rozsahu zahrnutím mikrosekund:
SELECT SEC_TO_TIME(3020399.999999);
Výsledek:
+-----------------------------+ | SEC_TO_TIME(3020399.999999) | +-----------------------------+ | 838:59:59.999999 | +-----------------------------+
Negativní argumenty
Zadání záporné částky má za následek zápornou časovou hodnotu.
Příklad:
SELECT SEC_TO_TIME(-3020399);
Výsledek:
+-----------------------+ | SEC_TO_TIME(-3020399) | +-----------------------+ | -838:59:59 | +-----------------------+
Chybí argument
Volání SEC_TO_TIME()
s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:
SELECT SEC_TO_TIME();
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
A další příklad:
SELECT SEC_TO_TIME( 123, 456 );
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
Udělejte si čas
Viz také MAKETIME()
pro konstrukci časové hodnoty z jejích hodin, minut a sekund.