No MariaDB,
HOUR() é uma função de data e hora integrada que retorna a hora de uma determinada expressão de hora. Ele aceita um argumento, que é o horário do qual você deseja extrair a hora.
Para valores de hora do dia, ele retorna a hora como um número no intervalo
0 para 23 . No entanto, o intervalo de TIME valores podem ser muito maiores e, portanto, o valor retornado pode ser muito maior que 23 . O valor de retorno é sempre positivo, mesmo se for fornecido um tempo negativo.
Sintaxe
A sintaxe fica assim:
HOUR(time) Onde
time é a expressão de tempo para obter a hora. Exemplo
Aqui está um exemplo:
SELECT HOUR('10:30:45'); Resultado:
+------------------+
| HOUR('10:30:45') |
+------------------+
| 10 |
+------------------+ Valores de data e hora
Também funciona com valores de data e hora:
SELECT HOUR('2030-02-01 10:30:45'); Resultado:
+-----------------------------+
| HOUR('2030-02-01 10:30:45') |
+-----------------------------+
| 10 |
+-----------------------------+ Horários maiores
TIME os valores podem estar no intervalo '-838:59:59.999999' para '838:59:59.999999' . Portanto, a parte da hora pode ser muito maior que
23 :SELECT HOUR('578:30:45'); Resultado:
+-------------------+
| HOUR('578:30:45') |
+-------------------+
| 578 |
+-------------------+ Tempos negativos
Tempos negativos retornam um resultado positivo.
Exemplo
SELECT HOUR('-578:30:45'); Resultado:
+--------------------+
| HOUR('-578:30:45') |
+--------------------+
| 578 |
+--------------------+ Horários fora do intervalo
Valores de tempo fora do intervalo
'-838:59:59.999999' para '838:59:59.999999' retornar 838 . Exemplo:
SELECT HOUR('978:30:45'); Resultado (usando saída vertical):
+-------------------+
| HOUR('978:30:45') |
+-------------------+
| 838 |
+-------------------+ Data atual
Podemos passar
NOW() como argumento datetime para usar a hora atual:SELECT
NOW(),
HOUR(NOW()); Resultado:
+---------------------+-------------+ | NOW() | HOUR(NOW()) | +---------------------+-------------+ | 2021-05-16 10:50:02 | 10 | +---------------------+-------------+
Argumentos inválidos
Quando passado um argumento inválido,
HOUR() retorna null :SELECT HOUR('Ten Thirty AM'); Resultado:
+-----------------------+
| HOUR('Ten Thirty AM') |
+-----------------------+
| NULL |
+-----------------------+ Argumento ausente
Chamando
HOUR() com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:SELECT HOUR(); Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
E outro exemplo:
SELECT HOUR('10:30:45', '06:30:45'); Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1