Al usar MySQL, puede usar el SEC_TO_TIME()
función para construir un tiempo valor basado en un número dado de segundos. Básicamente, proporciona la cantidad de segundos como argumento, y lo convertirá en un tiempo. valor.
Así es como funciona.
Sintaxis
La sintaxis es así:
SEC_TO_TIME(seconds)
Donde seconds
es el número de segundos que desea convertir a un tiempo valor.
Ejemplo 1:uso básico
Aquí hay un ejemplo para demostrarlo.
SELECT SEC_TO_TIME(65);
Resultado:
+-----------------+ | SEC_TO_TIME(65) | +-----------------+ | 00:01:05 | +-----------------+
Ejemplo 2:un valor mayor
Aquí hay un ejemplo con un valor ligeramente mayor.
SELECT SEC_TO_TIME(6555);
Resultado:
+-------------------+ | SEC_TO_TIME(6555) | +-------------------+ | 01:49:15 | +-------------------+
Aquí hay uno con un valor aún mayor de nuevo.
SELECT SEC_TO_TIME(655555);
Resultado:
+---------------------+ | SEC_TO_TIME(655555) | +---------------------+ | 182:05:55 | +---------------------+
Por lo tanto, el valor del tiempo no se limita a 24 horas. Esto se debe a que no se limita a representar solo la hora del día. También podría representar el tiempo transcurrido o un intervalo de tiempo entre dos eventos.
Ejemplo 3:limitaciones en el tipo de datos de tiempo
El time
el tipo de datos está limitado a un rango de -838:59:59 a 838:59:59 . Si el resultado cae fuera de ese rango, recibirá una advertencia.
SELECT SEC_TO_TIME(6555555);
Resultado:
+----------------------+ | SEC_TO_TIME(6555555) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.00 sec)
Sin embargo, ten cuidado. El valor de tiempo que se muestra puede ser engañoso, ya que se detendrá en 838:59:59 incluso si el resultado hubiera sido mayor que eso.
Aquí hay otro ejemplo que usa un valor más grande nuevamente.
SELECT SEC_TO_TIME(65555550000);
Resultado:
+--------------------------+ | SEC_TO_TIME(65555550000) | +--------------------------+ | 838:59:59 | +--------------------------+ 1 row in set, 1 warning (0.00 sec)
Observe que obtenemos el mismo resultado que en el ejemplo anterior, aunque el argumento de los segundos es mucho más grande en este.
Ejemplo 4:contexto numérico
Aquí hay un ejemplo del uso de SEC_TO_TIME()
en un contexto numérico. Hacemos esto agregando un valor (en este caso 0
) a la declaración.
SELECT SEC_TO_TIME(6555), SEC_TO_TIME(6555) + 0;
Resultado:
+-------------------+-----------------------+ | SEC_TO_TIME(6555) | SEC_TO_TIME(6555) + 0 | +-------------------+-----------------------+ | 01:49:15 | 14915 | +-------------------+-----------------------+