O
HOUR() do MySQL A função é usada para retornar o componente de hora de um valor de hora. O valor de retorno para um valor de hora do dia estará entre 0 e 23, porém o intervalo retornado por esta função pode ser muito maior, devido ao fato de que um hora tipo de dados não se limita a apenas uma hora do dia (ele também pode ser usado para representar o tempo decorrido ou um intervalo de tempo entre dois eventos). Isso significa que o valor retornado pode ser maior que 24 horas ou até mesmo um valor negativo.
Sintaxe
A sintaxe desta função é assim:
HOUR(time)
Onde
time é o valor de tempo do qual você deseja extrair o componente de hora. Exemplo 1 – Uso básico
Aqui está um exemplo para demonstrar.
SELECT HOUR('10:35:27');
Resultado:
+------------------+
| HOUR('10:35:27') |
+------------------+
| 10 |
+------------------+
Exemplo 2 – Mais de 24 horas
Conforme mencionado, se o valor de tempo for usado para representar o tempo decorrido ou um intervalo de tempo entre dois eventos, ele poderá ter um componente de hora maior que 24 horas. Portanto, o exemplo a seguir é perfeitamente válido.
SELECT HOUR('310:35:27');
Resultado:
+-------------------+
| HOUR('310:35:27') |
+-------------------+
| 310 |
+-------------------+
Exemplo 3 – Valores negativos
Valores negativos também são perfeitamente válidos para o tempo tipo de dados. No entanto, observe que a
HOUR() A função retornará como um valor positivo:SELECT HOUR('-310:35:27');
Resultado:
+--------------------+
| HOUR('-310:35:27') |
+--------------------+
| 310 |
+--------------------+
Se isso for um problema e você precisar de valores negativos retornados como valores negativos, o
EXTRACT() função pode ser o que você está procurando:SELECT EXTRACT(HOUR FROM '-310:35:27');
Resultado:
+---------------------------------+ | EXTRACT(HOUR FROM '-310:35:27') | +---------------------------------+ | -310 | +---------------------------------+