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

Come funziona ADDTIME() in MariaDB

In MariaDB, ADDTIME() è una funzione di data e ora incorporata che aggiunge un importo a un'espressione time o datetime.

Ti consente di modificare un'espressione ora o data e ora passando quell'espressione, nonché un'espressione ora da aggiungere a tale espressione. Puoi passare un importo negativo se devi sottrarre dall'espressione del tempo.

Sintassi

La sintassi è questa:

ADDTIME(expr1,expr2)

Dove expr1 è un'espressione ora o data/ora e expr2 è un'espressione del tempo.

Esempio

Ecco un esempio:

SELECT ADDTIME('10:00:00', '02:30:45');

Risultato:

+---------------------------------+
| ADDTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 12:30:45                        |
+---------------------------------+

Espressioni di data e ora

Il primo argomento può anche essere un'espressione datetime:

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

Risultato:

+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-05-02 08:30:45                        |
+--------------------------------------------+

In questo caso, il tempo aggiunto è stato sufficiente per anticipare la data al giorno successivo e questo si riflette nel risultato.

Espressioni temporali in un formato più flessibile

MariaDB consente l'assegnazione di tempi in formati più flessibili, come l'eliminazione di zeri iniziali e la fornitura di un valore per il giorno.

Pertanto, possiamo farlo:

SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456');

Risultato:

+----------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
+----------------------------------------------------+
| 2022-05-02 11:01:01.123456                         |
+----------------------------------------------------+

Intervalli negativi

Fornire un intervallo negativo per la parte del giorno sottrae tale importo dall'ora/dataora.

Esempio:

SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');

Risultato:

+-----------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
+-----------------------------------------------------+
| 2020-04-30 08:58:58.876544                          |
+-----------------------------------------------------+

Argomenti nulli

Se un argomento è null , il risultato è null :

SELECT 
    ADDTIME('10:00:00', null),
    ADDTIME(null, '02:30:45'),
    ADDTIME(null, null);

Risultato:

+---------------------------+---------------------------+---------------------+
| ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) |
+---------------------------+---------------------------+---------------------+
| NULL                      | NULL                      | NULL                |
+---------------------------+---------------------------+---------------------+

Argomento mancante

Chiamando ADDTIME() con il numero errato di argomenti o senza passare alcun argomento genera un errore:

SELECT ADDTIME();

Risultato:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'