MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

4 funções que retornam os minutos de um valor de tempo no MariaDB


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