Hieronder vindt u een volledige lijst van de datum- en tijdseenheden die in MariaDB kunnen worden gebruikt.
Eenheid | Beschrijving |
---|---|
MICROSECOND | Microseconden |
SECOND | Seconden |
MINUTE | Minuten |
HOUR | Uren |
DAY | Dagen |
WEEK | Weken |
MONTH | Maanden |
QUARTER | Kwartalen |
YEAR | Jaar |
SECOND_MICROSECOND | Seconden.Microseconden |
MINUTE_MICROSECOND | Minuten.Seconden.Microseconden |
MINUTE_SECOND | Minuten.Seconden |
HOUR_MICROSECOND | Uren.Minuten.Seconden.Microseconden |
HOUR_SECOND | Uren.Minuten.Seconden |
HOUR_MINUTE | Uren.Minuten |
DAY_MICROSECOND | Dagen Uren.Minuten.Seconden.Microseconden |
DAY_SECOND | Dagen Uren.Minuten.Seconden |
DAY_MINUTE | Dagen Uren.Minuten |
DAY_HOUR | Dagen Uren |
YEAR_MONTH | Jaar-Maanden |
Deze kunnen worden gebruikt met de +
en -
operatoren bij het uitvoeren van berekeningen op datums, met functies zoals ADDDATE()
, SUBDATE()
, DATE_ADD()
, DATE_SUB()
, EXTRACT()
, TIMESTAMPADD()
, en TIMESTAMPDIFF()
.
Ze kunnen ook worden gebruikt in de ON SCHEDULE
clausule van de CREATE_EVENT()
en ALTER_EVENT()
functies.
De tijdseenheden met een onderstrepingsteken zijn samengestelde eenheden. Deze bestaan uit meer dan één basistijdseenheid. Dit is een soort verkorte manier om meerdere eenheden in één keer te specificeren. Elke eenheid kan worden gescheiden door elk leesteken.
Voorbeelden
Hier is een voorbeeld van het toevoegen van een uur aan een datetime-expressie:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
Resultaat:
+-----------------------------------------+ | '2021-05-31 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-31 11:00:00 | +-----------------------------------------+
In dit geval gebruiken we de +
operator om de optelling uit te voeren.
Datum-functies
De datum- en tijdseenheden kunnen worden gebruikt met verschillende datumfuncties.
Hier is het met de DATE_ADD()
functie:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
Resultaat:
+--------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-31 11:00:00 | +--------------------------------------------------+
Samengestelde eenheden
Hier is een voorbeeld dat samengestelde eenheden gebruikt:
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";
Resultaat:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+
De gehele getallen kunnen worden gescheiden door elk leesteken. Daarom zouden we de dubbele punten kunnen vervangen door punten om hetzelfde resultaat te krijgen:
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";
Resultaat:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+