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 | +---------------------+---------------------+---------------------+