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'