MariaDB offre molti modi per eseguire l'aritmetica delle date. Ciò include l'aggiunta o la sottrazione di un certo numero di una data parte da un valore di data o data e ora.
In questo articolo, presento 8 modi per aggiungere uno o più minuti a un valore datetime in MariaDB.
Il DATE_ADD() Funzione
Il DATE_ADD() la funzione consente di aggiungere un importo a un'espressione di data o ora. Ciò include l'aggiunta di parti di tempo, come i minuti.
Esempio:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE); Risultato:
+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00 |
+-----------------------------------------------------+
In questo caso, ho aggiunto 35 minuti all'espressione datetime. Nota che il MINUTE la parola chiave rimane non plurale indipendentemente dal fatto che aggiunga un minuto o più.
Ecco cosa succede se fornisco solo la data:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MINUTE); Risultato:
+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 MINUTE) |
+--------------------------------------------+
| 2021-05-01 00:35:00 |
+--------------------------------------------+
La parte temporale viene aggiunta al risultato e si presume che l'ora iniziale fosse 00:00:00 .
Quando aggiungiamo 60 minuti, possiamo usare HOUR parola chiave se preferiamo:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR); Risultato:
+--------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 11:00:00 |
+--------------------------------------------------+ Ovviamente, questa tecnica funziona con 120 minuti, 180 e così via. Basta utilizzare il numero di ore applicabile.
Puoi anche utilizzare un'unità di data/ora composita per aggiungere più unità. Ad esempio, se desideri aggiungere 1 ora e 30 minuti, puoi farlo:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE); Risultato:
+--------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE) |
+--------------------------------------------------------------+
| 2021-05-01 11:30:00 |
+--------------------------------------------------------------+ Vedere Unità di data e ora di MariaDB per un elenco completo delle unità di data/ora.
Il ADDDATE() Funzione
Un altro modo per aggiungere minuti a un'espressione datetime consiste nell'usare ADDDATE() funzione. Questa funzione ha due sintassi:
- Una sintassi ti consente di aggiungere un numero di giorni a una data, che non è ciò che stiamo facendo qui (a meno che non prevediamo di aggiungere minuti in blocchi di 1.440, ovvero quanti minuti ci sono in un giorno).
- L'altra sintassi è la stessa di
DATE_ADD()funzione sopra. Quando si utilizza questa sintassi,ADDDATE()è sinonimo diDATE_ADD().
Esempio:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE); Risultato:
+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:35:00 |
+----------------------------------------------------+ Il DATE_SUB() Funzione
Il DATE_SUB() la funzione ti consente di sottrarre un importo in un'espressione data/ora. Tuttavia, se fornisci un valore negativo da sottrarre, finisce per essere aggiunto alla data/ora.
Esempio:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE); Risultato:
+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+------------------------------------------------------+
| 2021-05-01 10:35:00 |
+------------------------------------------------------+ Il SUBDATE() Funzione
Il SUBDATE() funzione è sinonimo di DATE_SUB() quando si utilizza la seguente sintassi.
Esempio:
SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE); Risultato:
+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00 |
+-----------------------------------------------------+ Il + Operatore
Un'altra opzione è usare il + operatore.
Il + operatore viene utilizzato per eseguire l'addizione e possiamo usarlo nelle date, insieme all'unità di data/ora applicabile per aggiungere un certo numero di minuti alla nostra data.
Esempio:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MINUTE; Risultato:
+--------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MINUTE | +--------------------------------------------+ | 2021-05-01 10:35:00 | +--------------------------------------------+
Il - Operatore
Il - operatore può essere utilizzato per sottrarre un importo da una data. Ma se viene utilizzato per sottrarre un numero negativo, il risultato è un importo positivo che viene aggiunto alla data:
SELECT '2021-05-01 10:00:00' - INTERVAL -35 MINUTE; Risultato:
+---------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MINUTE | +---------------------------------------------+ | 2021-05-01 10:35:00 | +---------------------------------------------+
Il ADDTIME() Funzione
Puoi usare ADDTIME() funzione per aggiungere un numero di minuti a un'espressione datetime.
Esempio:
SELECT ADDTIME('2021-05-01 10:00:00', '00:30:00'); Risultato:
+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:30:00') |
+--------------------------------------------+
| 2021-05-01 10:30:00 |
+--------------------------------------------+ Un vantaggio di questa funzione è che puoi anche cambiare le altre unità di tempo, come ore, secondi, ecc.
Il SUBTIME() Funzione
In alternativa puoi cambiarlo e utilizzare SUBTIME() con un valore negativo se lo desideri:
SELECT SUBTIME('2021-05-01 10:00:00', '-00:30:00'); Risultato:
+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:30:00') |
+---------------------------------------------+
| 2021-05-01 10:30:00 |
+---------------------------------------------+ Altre unità di data e ora
Gli esempi precedenti aggiungono un numero di minuti al valore datetime, ma possiamo utilizzare le stesse tecniche per aggiungere qualsiasi unità di data/ora. Vedere Unità di data e ora di MariaDB per un elenco completo delle unità di data/ora che possono essere utilizzate con le funzioni e gli operatori sopra indicati.