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

8 modi per aggiungere un'ora a un Datetime in MariaDB

Ci sono molti modi per eseguire l'aritmetica della data in MariaDB. 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 un'ora 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 l'ora.

Esempio:

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

In questo caso, ho aggiunto un'ora all'espressione datetime.

Ecco cosa succede se fornisco solo la data:

SELECT DATE_ADD('2021-05-01', INTERVAL 1 HOUR);

Risultato:

+-----------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 1 HOUR) |
+-----------------------------------------+
| 2021-05-01 01:00:00                     |
+-----------------------------------------+

La parte temporale viene aggiunta al risultato e si presume che l'ora iniziale fosse 00:00:00 .

Se devi aggiungere più di un'ora, usa quel numero invece di 1 . Nota che l'HOUR la parola chiave rimane non plurale a prescindere:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 2 HOUR);

Risultato:

+--------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 2 HOUR) |
+--------------------------------------------------+
| 2021-05-01 12:00:00                              |
+--------------------------------------------------+

È anche possibile utilizzare un'altra unità di data/ora con il numero appropriato di tale unità. Pertanto è possibile specificare un certo numero di minuti, ad esempio 60 o 120.

Esempio:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 60 MINUTE);

Risultato:

+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 60 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 11:00:00                                 |
+-----------------------------------------------------+

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 un'ora a un'espressione datetime consiste nell'usare ADDDATE() funzione. Questa funzione ha due sintassi:

  1. 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 24 ore).
  2. L'altra sintassi è la stessa di DATE_ADD() funzione sopra. Quando si utilizza questa sintassi, ADDDATE() è sinonimo di DATE_ADD() .

Esempio:

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 1 HOUR);

Risultato:

+-------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+-------------------------------------------------+
| 2021-05-01 11:00:00                             |
+-------------------------------------------------+

Il DATE_SUB() Funzione

Il DATE_SUB() la funzione ti consente di sottrarre un importo a una data. Tuttavia, se fornisci un valore negativo da sottrarre, finisce per essere aggiunto alla data.

Esempio:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -1 HOUR);

Risultato:

+---------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -1 HOUR) |
+---------------------------------------------------+
| 2021-05-01 11:00: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 -1 HOUR);

Risultato:

+--------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 11:00:00                              |
+--------------------------------------------------+

Il + Operatore

Un'altra opzione è usare il + operatore.

Il + operatore viene utilizzato per eseguire l'aggiunta e possiamo usarlo nelle date, insieme all'unità di data/ora applicabile per aggiungere un certo numero di ore alla nostra data.

Esempio:

SELECT '2021-05-01 10:00:00' + INTERVAL 1 HOUR;

Risultato:

+-----------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 1 HOUR |
+-----------------------------------------+
| 2021-05-01 11:00: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 -1 HOUR;

Risultato:

+------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -1 HOUR |
+------------------------------------------+
| 2021-05-01 11:00:00                      |
+------------------------------------------+

Il ADDTIME() Funzione

Puoi usare ADDTIME() funzione per aggiungere un numero di ore a un'espressione datetime.

Esempio:

SELECT ADDTIME('2021-05-01 10:30:45', '01:0:0');

Risultato:

+------------------------------------------+
| ADDTIME('2021-05-01 10:30:45', '01:0:0') |
+------------------------------------------+
| 2021-05-01 11:30:45                      |
+------------------------------------------+

Un vantaggio di questa funzione è che puoi anche cambiare le altre unità di tempo, come minuti, 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:30:45', '-01:0:0');

Risultato:

+-------------------------------------------+
| SUBTIME('2021-05-01 10:30:45', '-01:0:0') |
+-------------------------------------------+
| 2021-05-01 11:30:45                       |
+-------------------------------------------+

Altre unità di data e ora

Gli esempi precedenti aggiungono un numero di ore 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 di cui sopra.