MariaDB
 sql >> Database >  >> RDS >> MariaDB

4 Funzioni che restituiscono i minuti da un valore temporale in MariaDB

Di seguito sono elencate 4 funzioni che consentono di restituire la parte dei minuti da un valore di tempo in MariaDB.

Il MINUTE() Funzione

Il MINUTE() la funzione restituisce la parte dei minuti di un dato TIME o DATETIME espressione. Accetta un argomento, che è il tempo da cui vuoi estrarre i minuti.

Esempio:

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

Risultato:

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

TIME i valori possono essere compresi nell'intervallo '-838:59:59.999999' a '838:59:59.999999' . Quindi, anche se la parte delle ore può essere molto più alta di 23 , la parte dei minuti può essere solo nell'intervallo 0 a 59 .

TIME i valori possono anche essere negativi. In questi casi, MINUTE() restituisce un valore positivo.

Ecco un valore temporale negativo con una parte oraria più grande:

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

Risultato:

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

La parte dei minuti viene estratta come previsto.

Il EXTRACT() Funzione

Il EXTRACT() la funzione consente di estrarre un'unità specificata dal valore di data/ora. Pertanto, puoi usarlo per estrarre i minuti (così come altre unità) dal valore del tempo.

Esempio:

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

Risultato:

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

Il TIME_FORMAT() Funzione

Il TIME_FORMAT() La funzione consente di formattare un valore di tempo in base a una stringa di formato. La stringa di formato specifica come deve essere formattata l'ora.

È quindi possibile utilizzare questa funzione per restituire i minuti (oltre a ore e secondi) dall'ora.

Usando il %i l'identificatore di formato restituisce i minuti con due cifre:

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

Risultato:

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

Il TIME_FORMAT() la funzione accetta un sottoinsieme delle stringhe di formato che possono essere utilizzate con DATE_FORMAT() funzione. Consulta le stringhe di formato MariaDB per un elenco completo di stringhe di formato/specificatori che possono essere utilizzati con DATE_FORMAT() . Il TIME_FORMAT() la funzione accetta solo identificatori di formato per ore, minuti e secondi. Qualsiasi altro identificatore di formato restituisce null o 0 in fase di restituzione.

Il DATE_FORMAT() Funzione

Il DATE_FORMAT() La funzione consente di formattare un valore di data o data e ora in base a una stringa di formato. La stringa di formato specifica come formattare la data/ora.

Possiamo quindi usare gli stessi identificatori di formato che abbiamo usato con TIME_FORMAT() funzione nell'esempio precedente. Tuttavia, DATE_FORMAT() non accetta un TIME valore, quindi dovremo passare un DATETIME valore.

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

Risultato:

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

Passando solo un TIME value non funziona con questa funzione:

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

Risultato:

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