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