Cuando trabaje con MySQL, puede usar el TIME()
función para extraer la parte de la hora de un valor de hora o fecha y hora.
La forma en que funciona es que pasa la expresión hora/fechahora como argumento y TIME()
devolverá la parte de tiempo.
Sintaxis
La sintaxis es así:
TIME(expr)
Donde expr
es la expresión de hora/fechahora de la que desea extraer la parte de tiempo.
Ejemplo básico
Aquí hay un ejemplo usando un valor de fecha y hora.
SELECT TIME('2021-01-03 11:15:45');
Resultado:
+-----------------------------+ | TIME('2021-01-03 11:15:45') | +-----------------------------+ | 11:15:45 | +-----------------------------+
Segundos fraccionarios
Aquí hay un ejemplo donde el valor de fecha y hora también contiene una parte de segundos fraccionarios.
SELECT TIME('2021-01-03 11:15:45.123456');
Resultado:
+------------------------------------+ | TIME('2021-01-03 11:15:45.123456') | +------------------------------------+ | 11:15:45.123456 | +------------------------------------+
Omitir la segunda parte
Aquí hay un ejemplo donde la parte de los segundos se omite del valor inicial.
SELECT TIME('2021-01-03 11:15');
Resultado:
+--------------------------+ | TIME('2021-01-03 11:15') | +--------------------------+ | 11:15:00 | +--------------------------+
En este caso, la parte de los segundos aún se devuelve, aunque se omitió del valor inicial.
Extracción del tiempo de un valor de 'tiempo'
Como se mencionó, el primer argumento puede ser un valor de tiempo en sí mismo (es decir, no tiene que ser un valor de fecha y hora).
SELECT TIME('11:15');
Resultado:
+---------------+ | TIME('11:15') | +---------------+ | 11:15:00 | +---------------+
Replicación basada en declaraciones:advertencia
La documentación de MySQL establece lo siguiente sobre el TIME()
función:
Esta función no es segura para la replicación basada en declaraciones. Se registra una advertencia si utiliza esta función cuando binlog_format
está establecido en STATEMENT
.