No MariaDB,
SEC_TO_TIME() é uma função de data e hora integrada que retorna um valor de hora, com base no número de segundos fornecidos como argumentos. Sintaxe
A sintaxe fica assim:
SEC_TO_TIME(seconds) Exemplo
Aqui está um exemplo:
SELECT SEC_TO_TIME(1); Resultado:
+----------------+ | SEC_TO_TIME(1) | +----------------+ | 00:00:01 | +----------------+
Aqui está mais um:
SELECT SEC_TO_TIME(18520); Resultado:
+--------------------+ | SEC_TO_TIME(18520) | +--------------------+ | 05:08:40 | +--------------------+
Segundos fora do alcance
O intervalo do resultado é restrito ao tipo de dados de tempo. Um aviso ocorre se o argumento corresponder a um valor fora desse intervalo. O intervalo dos valores de tempo do MariaDB é
'-838:59:59.999999' para '838:59:59.999999' . De qualquer forma, aqui está um exemplo de um tempo com valores que estão na extremidade superior de seu intervalo aceito:
SELECT SEC_TO_TIME(3020399); Resultado:
+----------------------+ | SEC_TO_TIME(3020399) | +----------------------+ | 838:59:59 | +----------------------+
E aqui está um que vai fora do intervalo:
SELECT SEC_TO_TIME(3020400); Resultado:
+----------------------+ | SEC_TO_TIME(3020400) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.000 sec)
Fica o aviso:
SHOW WARNINGS; Resultado:
+---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 1292 | Truncated incorrect seconds value: '3020400' | +---------+------+----------------------------------------------+
Microsegundos
Podemos chegar ainda mais perto da faixa superior incluindo microssegundos:
SELECT SEC_TO_TIME(3020399.999999); Resultado:
+-----------------------------+ | SEC_TO_TIME(3020399.999999) | +-----------------------------+ | 838:59:59.999999 | +-----------------------------+
Argumentos negativos
Fornecer um valor negativo resulta em um valor de tempo negativo.
Exemplo:
SELECT SEC_TO_TIME(-3020399); Resultado:
+-----------------------+ | SEC_TO_TIME(-3020399) | +-----------------------+ | -838:59:59 | +-----------------------+
Argumento ausente
Chamando
SEC_TO_TIME() com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:SELECT SEC_TO_TIME(); Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
E outro exemplo:
SELECT SEC_TO_TIME( 123, 456 ); Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SEC_TO_TIME'
Arranje um tempo
Veja também
MAKETIME() para construir um valor de tempo a partir de suas horas, minutos e segundos.