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