sql >> Base de Datos >  >> RDS >> Mysql

Ejemplos de SEC_TO_TIME() – MySQL

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 |
+-------------------+-----------------------+