MySQL HOUR()
se utiliza para devolver el componente de hora de un valor de tiempo.
El valor devuelto para un valor de hora del día estará entre 0 y 23, sin embargo, el rango devuelto por esta función podría ser mucho mayor, debido al hecho de que una hora El tipo de datos no se limita solo a una hora del día (también se puede usar para representar el tiempo transcurrido o un intervalo de tiempo entre dos eventos). Esto significa que el valor devuelto podría ser mayor a 24 horas o incluso un valor negativo.
Sintaxis
La sintaxis de esta función es así:
HOUR(time)
Donde time
es el valor de tiempo del que desea extraer el componente de hora.
Ejemplo 1:uso básico
Aquí hay un ejemplo para demostrarlo.
SELECT HOUR('10:35:27');
Resultado:
+------------------+ | HOUR('10:35:27') | +------------------+ | 10 | +------------------+
Ejemplo 2:más de 24 horas
Como se mencionó, si el valor de tiempo se usa para representar el tiempo transcurrido o un intervalo de tiempo entre dos eventos, podría tener un componente de hora mayor a 24 horas. Así que el siguiente ejemplo es perfectamente válido.
SELECT HOUR('310:35:27');
Resultado:
+-------------------+ | HOUR('310:35:27') | +-------------------+ | 310 | +-------------------+
Ejemplo 3:valores negativos
Los valores negativos también son perfectamente válidos para el tiempo tipo de datos. Sin embargo, tenga en cuenta que HOUR()
la función lo devolverá como un valor positivo:
SELECT HOUR('-310:35:27');
Resultado:
+--------------------+ | HOUR('-310:35:27') | +--------------------+ | 310 | +--------------------+
Si esto es un problema y necesita valores negativos devueltos como valores negativos, EXTRACT()
función podría ser lo que estás buscando:
SELECT EXTRACT(HOUR FROM '-310:35:27');
Resultado:
+---------------------------------+ | EXTRACT(HOUR FROM '-310:35:27') | +---------------------------------+ | -310 | +---------------------------------+