Nedenfor er en komplet liste over de dato- og tidsenheder, der kan bruges i MariaDB.
Enhed | Beskrivelse |
---|---|
MICROSECOND | Mikrosekunder |
SECOND | Sekunder |
MINUTE | Minutter |
HOUR | Timer |
DAY | Dage |
WEEK | Uger |
MONTH | Måneder |
QUARTER | Kvarter |
YEAR | År |
SECOND_MICROSECOND | Seconds.Microseconds |
MINUTE_MICROSECOND | Minutter.Sekunder.Mikrosekunder |
MINUTE_SECOND | Minutter.sekunder |
HOUR_MICROSECOND | Timer.Minutter.Sekunder.Mikrosekunder |
HOUR_SECOND | Timer.Minutter.Sekunder |
HOUR_MINUTE | Timer.Minutter |
DAY_MICROSECOND | Dage Timer.Minuter.Sekunder.Mikrosekunder |
DAY_SECOND | Dage Timer.Minuter.Sekunder |
DAY_MINUTE | Dage Timer.Minutter |
DAY_HOUR | Dage timer |
YEAR_MONTH | År-måneder |
Disse kan bruges med +
og -
operatorer, når der udføres aritmetik på datoer, med funktioner såsom ADDDATE()
, SUBDATE()
, DATE_ADD()
, DATE_SUB()
, EXTRACT()
, TIMESTAMPADD()
, og TIMESTAMPDIFF()
.
De kan også bruges i ON SCHEDULE
klausul af CREATE_EVENT()
og ALTER_EVENT()
funktioner.
De tidsenheder, der indeholder en understregning, er sammensatte enheder. Disse består af mere end én basistidsenhed. Disse er en slags forkortede måde at specificere flere enheder på på én gang. Hver enhed kan adskilles med et hvilket som helst tegnsætningstegn.
Eksempler
Her er et eksempel på tilføjelse af en time til et dato-tidsudtryk:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
Resultat:
+-----------------------------------------+ | '2021-05-31 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-31 11:00:00 | +-----------------------------------------+
I dette tilfælde bruger vi +
operatør til at udføre tilføjelsen.
Dato-tidsfunktioner
Dato- og tidsenhederne kan bruges med forskellige datofunktioner.
Her er den med DATE_ADD()
funktion:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
Resultat:
+--------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-31 11:00:00 | +--------------------------------------------------+
Sammensatte enheder
Her er et eksempel, der bruger sammensatte enheder:
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";
Resultat:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+
Heltallene kan adskilles med et hvilket som helst tegnsætningstegn. Derfor kunne vi erstatte kolonerne med perioder for at få det samme resultat:
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";
Resultat:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+