Nedan finns en fullständig lista över de datum- och tidsenheter som kan användas i MariaDB.
Enhet | Beskrivning |
---|---|
MICROSECOND | Mikrosekunder |
SECOND | Sekunder |
MINUTE | Minuter |
HOUR | Timmar |
DAY | Dagar |
WEEK | Vecker |
MONTH | Månader |
QUARTER | Kvarter |
YEAR | År |
SECOND_MICROSECOND | Seconds.Microseconds |
MINUTE_MICROSECOND | Minutes.Seconds.Microseconds |
MINUTE_SECOND | Minuter.sekunder |
HOUR_MICROSECOND | Timmar.Minuter.Sekunder.Mikrosekunder |
HOUR_SECOND | Timmar.Minuter.Sekunder |
HOUR_MINUTE | Timmar.Minuter |
DAY_MICROSECOND | Dagar Timmar.Minuter.Sekunder.Mikrosekunder |
DAY_SECOND | Dagar Timmar.Minuter.Sekunder |
DAY_MINUTE | Dagar Timmar.Minuter |
DAY_HOUR | Dags timmar |
YEAR_MONTH | År-månader |
Dessa kan användas med +
och -
operatorer när du utför aritmetik på datum, med funktioner som ADDDATE()
, SUBDATE()
, DATE_ADD()
, DATE_SUB()
, EXTRACT()
, TIMESTAMPADD()
, och TIMESTAMPDIFF()
.
De kan också användas i ON SCHEDULE
sats i CREATE_EVENT()
och ALTER_EVENT()
funktioner.
Tidsenheterna som innehåller ett understreck är sammansatta enheter. Dessa består av mer än en bastidsenhet. Dessa är ett slags kortfattat sätt att specificera flera enheter på en gång. Varje enhet kan separeras med valfritt skiljetecken.
Exempel
Här är ett exempel på hur du lägger till en timme till ett datum och tid-uttryck:
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 det här fallet använder vi +
operatör för att utföra tillägget.
Datetime-funktioner
Datum- och tidsenheterna kan användas med olika datumfunktioner.
Här är 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 | +--------------------------------------------------+
Kompositenheter
Här är ett exempel som använder sammansatta enheter:
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 | +---------------------+---------------------+---------------------+
Heltalen kan separeras med valfritt skiljetecken. Därför skulle vi kunna ersätta kolon med perioder för att få samma 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 | +---------------------+---------------------+---------------------+