По-долу е даден пълен списък на единиците за дата и час, които могат да се използват в MariaDB.
Единица | Описание |
---|---|
MICROSECOND | Микросекунди |
SECOND | Секунди |
MINUTE | Минути |
HOUR | Часове |
DAY | Дни |
WEEK | Седмици |
MONTH | Месеци |
QUARTER | Четвертини |
YEAR | Години |
SECOND_MICROSECOND | Секунди.Микросекунди |
MINUTE_MICROSECOND | Минути.Секунди.Микросекунди |
MINUTE_SECOND | Минути.Секунди |
HOUR_MICROSECOND | Часове.Минути.Секунди.Микросекунди |
HOUR_SECOND | Часове.Минути.Секунди |
HOUR_MINUTE | Часове.Минути |
DAY_MICROSECOND | Дни Часове.Минути.Секунди.Микросекунди |
DAY_SECOND | Дни Часове.Минути.Секунди |
DAY_MINUTE | Дни Часове.Минути |
DAY_HOUR | Дни Часове |
YEAR_MONTH | Години-месеци |
Те могат да се използват с +
и -
оператори при извършване на аритметика на дати, с функции като ADDDATE()
, SUBDATE()
, DATE_ADD()
, DATE_SUB()
, EXTRACT()
, TIMESTAMPADD()
и TIMESTAMPDIFF()
.
Те могат да се използват и в ON SCHEDULE
клауза на CREATE_EVENT()
и ALTER_EVENT()
функции.
Единиците за време, съдържащи долна черта, са съставни единици. Те се състоят от повече от една базова времева единица. Това са един вид съкратен начин за определяне на множество единици наведнъж. Всяка единица може да бъде разделена с произволен препинателен знак.
Примери
Ето пример за добавяне на час към израз за дата и час:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
Резултат:
+-----------------------------------------+ | '2021-05-31 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-31 11:00:00 | +-----------------------------------------+
В този случай използваме +
оператор за извършване на добавянето.
Функции за дата и час
Единиците за дата и час могат да се използват с различни функции за дата.
Ето го с DATE_ADD()
функция:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
Резултат:
+--------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-31 11:00:00 | +--------------------------------------------------+
Съставни единици
Ето пример, който използва съставни единици:
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";
Резултат:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+
Целите числа могат да бъдат разделени с произволен препинателен знак. Следователно бихме могли да заменим двоеточия с точки, за да получим същия резултат:
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";
Резултат:
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+