Abaixo estão 4 funções que permitem retornar a parte de minutos de um valor de tempo no MariaDB.
O MINUTE() Função
O
MINUTE() função retorna a parte dos minutos de um determinado TIME ou DATETIME expressão. Ele aceita um argumento, que é o horário do qual você deseja extrair os minutos. Exemplo:
SELECT MINUTE('03:45:30'); Resultado:
+--------------------+
| MINUTE('03:45:30') |
+--------------------+
| 45 |
+--------------------+ TIME os valores podem estar no intervalo '-838:59:59.999999' para '838:59:59.999999' . Portanto, embora a parte das horas possa ser muito maior que 23 , a parte dos minutos só pode estar no intervalo 0 para 59 . TIME os valores também podem ser negativos. Nesses casos, MINUTE() retorna um valor positivo. Aqui está um valor de tempo negativo com uma parte de hora maior:
SELECT MINUTE('-838:59:59'); Resultado:
+----------------------+
| MINUTE('-838:59:59') |
+----------------------+
| 59 |
+----------------------+ A parte dos minutos é extraída conforme o esperado.
O EXTRACT() Função
O
EXTRACT() A função permite extrair uma unidade especificada do valor de data/hora. Portanto, você pode usá-lo para extrair os minutos (assim como outras unidades) do valor do tempo. Exemplo:
SELECT EXTRACT(MINUTE FROM '10:47:01'); Resultado:
+---------------------------------+ | EXTRACT(MINUTE FROM '10:47:01') | +---------------------------------+ | 47 | +---------------------------------+
O TIME_FORMAT() Função
O
TIME_FORMAT() A função permite que você formate um valor de tempo com base em uma string de formato. A string de formato especifica como a hora deve ser formatada. Você pode, portanto, usar esta função para retornar os minutos (assim como as horas e os segundos) da hora.
Usando o
%i especificador de formato retorna os minutos com dois dígitos:SELECT TIME_FORMAT('10:07:30', '%i'); Resultado:
+-------------------------------+
| TIME_FORMAT('10:07:30', '%i') |
+-------------------------------+
| 07 |
+-------------------------------+ O
TIME_FORMAT() A função aceita um subconjunto das strings de formato que podem ser usadas com o DATE_FORMAT() função. Veja Strings de Formato MariaDB para uma lista completa de strings/especificadores de formato que podem ser usados com DATE_FORMAT() . O TIME_FORMAT() A função só aceita especificadores de formato para horas, minutos e segundos. Qualquer outro especificador de formato resulta em null ou 0 sendo devolvido. O DATE_FORMAT() Função
O
DATE_FORMAT() A função permite que você formate um valor de data ou data e hora com base em uma string de formato. A string de formato especifica como a data/hora deve ser formatada. Podemos, portanto, usar os mesmos especificadores de formato que usamos com o
TIME_FORMAT() função no exemplo anterior. No entanto, DATE_FORMAT() não aceita um TIME valor, então precisaremos passar um DATETIME valor. SELECT DATE_FORMAT('2023-01-01 10:07:30', '%i'); Resultado:
+------------------------------------------+
| DATE_FORMAT('2023-01-01 10:07:30', '%i') |
+------------------------------------------+
| 07 |
+------------------------------------------+ Passando apenas um
TIME value não funciona com esta função:SELECT DATE_FORMAT('10:07:30', '%i') AS '%i'; Resultado:
+------+ | %i | +------+ | 00 | +------+