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.