Di seguito è riportato un elenco completo delle unità di data e ora che possono essere utilizzate in MariaDB.
Unità | Descrizione |
---|---|
MICROSECOND | Microsecondi |
SECOND | Secondi |
MINUTE | Minuti |
HOUR | Ore |
DAY | Giorni |
WEEK | Settimane |
MONTH | Mesi |
QUARTER | Trimestri |
YEAR | Anni |
SECOND_MICROSECOND | Secondi.Microsecondi |
MINUTE_MICROSECOND | Minuti.Secondi.Microsecondi |
MINUTE_SECOND | Minuti.Secondi |
HOUR_MICROSECOND | Ore.Minuti.Secondi.Microsecondi |
HOUR_SECOND | Ore.Minuti.Secondi |
HOUR_MINUTE | Ore.Minuti |
DAY_MICROSECOND | Giorni Ore.Minuti.Secondi.Microsecondi |
DAY_SECOND | Giorni Ore.Minuti.Secondi |
DAY_MINUTE | Giorni Ore.Minuti |
DAY_HOUR | Giorni Orari |
YEAR_MONTH | Anni-mesi |
Questi possono essere utilizzati con il +
e -
operatori quando si eseguono operazioni aritmetiche sulle date, con funzioni come ADDDATE()
, SUBDATE()
, DATE_ADD()
, DATE_SUB()
, EXTRACT()
, TIMESTAMPADD()
e TIMESTAMPDIFF()
.
Possono essere utilizzati anche in ON SCHEDULE
clausola del CREATE_EVENT()
e ALTER_EVENT()
funzioni.
Le unità di tempo che contengono un trattino basso sono unità composte. Questi sono costituiti da più di un'unità di tempo di base. Questi sono una specie di modo abbreviato per specificare più unità in una volta sola. Ogni unità può essere separata da qualsiasi carattere di punteggiatura.
Esempi
Ecco un esempio di aggiunta di un'ora a un'espressione datetime:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
Risultato:
+-----------------------------------------+ | '2021-05-31 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-31 11:00:00 | +-----------------------------------------+
In questo caso utilizziamo il +
operatore per eseguire l'aggiunta.
Funzioni data/ora
Le unità di data e ora possono essere utilizzate con varie funzioni di data.
Eccolo con il DATE_ADD()
funzione:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
Risultato:
+--------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-31 11:00:00 | +--------------------------------------------------+
Unità composite
Ecco un esempio che utilizza unità composite:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";
Risultato:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+
I numeri interi possono essere separati da qualsiasi carattere di punteggiatura. Pertanto, potremmo sostituire i due punti con punti per ottenere lo stesso risultato:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";
Risultato:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+