Ao usar o MySQL, você pode usar o
TIME_TO_SEC()
função para retornar o número de segundos em um valor de tempo. Especificamente, esta função retorna o argumento de tempo, convertido em segundos. Esta função não deve ser confundida com o
TO_SECONDS()
função, que, dado um argumento de data ou data e hora, retorna o número de segundos desde o ano 0. Veja como
TIME_TO_SEC()
funciona. Sintaxe
A sintaxe fica assim:
TIME_TO_SEC(time)
Onde
time
é o valor de tempo que você deseja converter para segundos. Exemplo 1 – Exemplo básico
Aqui está um exemplo para demonstrar.
SELECT TIME_TO_SEC('00:01:00');
Resultado:
+-------------------------+ | TIME_TO_SEC('00:01:00') | +-------------------------+ | 60 | +-------------------------+
Exemplo 2 – Valor maior
E aqui está o que parece quando usamos um valor de tempo maior:
SELECT TIME_TO_SEC('01:00:00');
Resultado:
+-------------------------+ | TIME_TO_SEC('01:00:00') | +-------------------------+ | 3600 | +-------------------------+
Exemplo 3 - Hora atual
Você pode passar o
CURTIME()
função como um argumento para retornar o número de segundos na hora atual. SELECT CURTIME() AS 'Current Time', TIME_TO_SEC(CURTIME()) AS 'Seconds';
Resultado:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:04:47 | 32687 | +--------------+---------+
Aqui está o mesmo exemplo, mas usando o
CURRENT_TIME()
função (que é um sinônimo para CURTIME()
). SELECT CURRENT_TIME() AS 'Current Time', TIME_TO_SEC(CURRENT_TIME()) AS 'Seconds';
Resultado:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:05:23 | 32723 | +--------------+---------+
Exemplo 4 – Tempo decorrido
O tipo de dados de hora não se limita apenas à hora do dia. Também pode ser usado para representar o tempo decorrido.
Aqui está um exemplo de como obter o número de segundos em 400 horas.
SELECT TIME_TO_SEC('400:00:00');
Resultado:
+--------------------------+ | TIME_TO_SEC('400:00:00') | +--------------------------+ | 1440000 | +--------------------------+