Al usar MySQL, puede usar el TIME_TO_SEC()
función para devolver el número de segundos en un valor de tiempo. Específicamente, esta función devuelve el argumento de tiempo, convertido a segundos.
Esta función no debe confundirse con TO_SECONDS()
que, dado un argumento de fecha o fecha y hora, devuelve el número de segundos desde el año 0.
Así es como TIME_TO_SEC()
funciona.
Sintaxis
La sintaxis es así:
TIME_TO_SEC(time)
Donde time
es el valor de tiempo que desea convertir a segundos.
Ejemplo 1 – Ejemplo básico
Aquí hay un ejemplo para demostrarlo.
SELECT TIME_TO_SEC('00:01:00');
Resultado:
+-------------------------+ | TIME_TO_SEC('00:01:00') | +-------------------------+ | 60 | +-------------------------+
Ejemplo 2:valor mayor
Y así es como se ve cuando usamos un valor de tiempo mayor:
SELECT TIME_TO_SEC('01:00:00');
Resultado:
+-------------------------+ | TIME_TO_SEC('01:00:00') | +-------------------------+ | 3600 | +-------------------------+
Ejemplo 3:hora actual
Puede pasar el CURTIME()
funcionan como un argumento para devolver el número de segundos en la hora actual.
SELECT CURTIME() AS 'Current Time', TIME_TO_SEC(CURTIME()) AS 'Seconds';
Resultado:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:04:47 | 32687 | +--------------+---------+
Aquí está el mismo ejemplo, pero usando el CURRENT_TIME()
función (que es un sinónimo de CURTIME()
).
SELECT CURRENT_TIME() AS 'Current Time', TIME_TO_SEC(CURRENT_TIME()) AS 'Seconds';
Resultado:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:05:23 | 32723 | +--------------+---------+
Ejemplo 4:tiempo transcurrido
El tipo de datos de tiempo no se limita solo a la hora del día. También se puede usar para representar el tiempo transcurrido.
Este es un ejemplo de cómo obtener la cantidad de segundos en 400 horas.
SELECT TIME_TO_SEC('400:00:00');
Resultado:
+--------------------------+ | TIME_TO_SEC('400:00:00') | +--------------------------+ | 1440000 | +--------------------------+