sql >> Base de Datos >  >> RDS >> MariaDB

4 funciones que devuelven los minutos de un valor de tiempo en MariaDB

A continuación hay 4 funciones que le permiten devolver la porción de minutos de un valor de tiempo en MariaDB.

El MINUTE() Función

El MINUTE() la función devuelve la parte de los minutos de un TIME dado o DATETIME expresión. Acepta un argumento, que es el tiempo del que desea extraer los minutos.

Ejemplo:

SELECT MINUTE('03:45:30');

Resultado:

+--------------------+
| MINUTE('03:45:30') |
+--------------------+
|                 45 |
+--------------------+

TIME los valores pueden estar en el rango '-838:59:59.999999' a '838:59:59.999999' . Entonces, aunque la parte de las horas puede ser mucho más alta que 23 , la parte de los minutos solo puede estar en el rango 0 a 59 .

TIME Los valores también pueden ser negativos. En tales casos, MINUTE() devuelve un valor positivo.

Aquí hay un valor de tiempo negativo con una parte de hora más grande:

SELECT MINUTE('-838:59:59');

Resultado:

+----------------------+
| MINUTE('-838:59:59') |
+----------------------+
|                   59 |
+----------------------+

La parte de los minutos se extrae como se esperaba.

El EXTRACT() Función

El EXTRACT() La función le permite extraer una unidad específica del valor de fecha/hora. Por lo tanto, puede usarlo para extraer los minutos (así como otras unidades) del valor del tiempo.

Ejemplo:

SELECT EXTRACT(MINUTE FROM '10:47:01');

Resultado:

+---------------------------------+
| EXTRACT(MINUTE FROM '10:47:01') |
+---------------------------------+
|                              47 |
+---------------------------------+

El TIME_FORMAT() Función

El TIME_FORMAT() La función le permite formatear un valor de tiempo basado en una cadena de formato. La cadena de formato especifica cómo debe formatearse la hora.

Por lo tanto, puede utilizar esta función para devolver los minutos (así como las horas y los segundos) de la hora.

Usando el %i especificador de formato devuelve los minutos con dos dígitos:

SELECT TIME_FORMAT('10:07:30', '%i');

Resultado:

+-------------------------------+
| TIME_FORMAT('10:07:30', '%i') |
+-------------------------------+
| 07                            |
+-------------------------------+

El TIME_FORMAT() La función acepta un subconjunto de las cadenas de formato que se pueden usar con DATE_FORMAT() función. Consulte Cadenas de formato de MariaDB para obtener una lista completa de cadenas/especificadores de formato que se pueden usar con DATE_FORMAT() . El TIME_FORMAT() La función solo acepta especificadores de formato para horas, minutos y segundos. Cualquier otro especificador de formato da como resultado null o 0 siendo devuelto.

El DATE_FORMAT() Función

El DATE_FORMAT() La función le permite formatear una fecha o un valor de fecha y hora en función de una cadena de formato. La cadena de formato especifica cómo debe formatearse la fecha/hora.

Por lo tanto, podemos usar los mismos especificadores de formato que usamos con TIME_FORMAT() función del ejemplo anterior. Sin embargo, DATE_FORMAT() no acepta un TIME valor, por lo que necesitaremos pasar un DATETIME valor.

SELECT DATE_FORMAT('2023-01-01 10:07:30', '%i');

Resultado:

+------------------------------------------+
| DATE_FORMAT('2023-01-01 10:07:30', '%i') |
+------------------------------------------+
| 07                                       |
+------------------------------------------+

Pasando solo un TIME value no funciona con esta función:

SELECT DATE_FORMAT('10:07:30', '%i') AS '%i';

Resultado:

+------+
| %i   |
+------+
| 00   |
+------+