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'