Níže je uveden úplný seznam jednotek data a času, které lze v MariaDB použít.
Jednotka | Popis |
---|---|
MICROSECOND | Mikrosekundy |
SECOND | Vteřiny |
MINUTE | Minuty |
HOUR | Hodiny |
DAY | Dny |
WEEK | Týdny |
MONTH | Měsíce |
QUARTER | Čtvrtletí |
YEAR | Roky |
SECOND_MICROSECOND | Sekundy.Mikrosekundy |
MINUTE_MICROSECOND | Minutes.Seconds.Microseconds |
MINUTE_SECOND | Minutes.Seconds |
HOUR_MICROSECOND | Hours.Minutes.Seconds.Microseconds |
HOUR_SECOND | Hours.Minutes.Seconds |
HOUR_MINUTE | Hours.Minutes |
DAY_MICROSECOND | Dny Hodiny.Minuty.Sekundy.Mikrosekundy |
DAY_SECOND | Dny Hodiny.Minuty.Sekundy |
DAY_MINUTE | Dny Hodiny.Minuty |
DAY_HOUR | Dny Hodiny |
YEAR_MONTH | roky-měsíce |
Ty lze použít s +
a -
operátory při provádění aritmetiky na datech, s funkcemi jako ADDDATE()
, SUBDATE()
, DATE_ADD()
, DATE_SUB()
, EXTRACT()
, TIMESTAMPADD()
a TIMESTAMPDIFF()
.
Mohou být také použity v ON SCHEDULE
klauzule CREATE_EVENT()
a ALTER_EVENT()
funkce.
Časové jednotky obsahující podtržítko jsou složené jednotky. Ty se skládají z více než jedné základní časové jednotky. Jedná se o jakýsi zkrácený způsob, jak zadat více jednotek najednou. Každá jednotka může být oddělena libovolným interpunkčním znakem.
Příklady
Zde je příklad přidání hodiny k výrazu datetime:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
Výsledek:
+-----------------------------------------+ | '2021-05-31 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-31 11:00:00 | +-----------------------------------------+
V tomto případě použijeme +
operátora, který provede sčítání.
Funkce data a času
Jednotky data a času lze použít s různými funkcemi data.
Zde je to s DATE_ADD()
funkce:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
Výsledek:
+--------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-31 11:00:00 | +--------------------------------------------------+
Složené jednotky
Zde je příklad použití složených jednotek:
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";
Výsledek:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+
Celá čísla lze oddělit libovolným interpunkčním znaménkem. Proto bychom mohli nahradit dvojtečky tečkami, abychom získali stejný výsledek:
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";
Výsledek:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+