В MySQL, TIMESTAMPADD()
функцията ви позволява да добавите определен период от време към стойност на дата или дата и час. Вие определяте единицата, която да добавите, както и колко от тази единица да добавите. Той приема три аргумента, които се използват за първоначалната стойност, сумата за добавяне и използваната единица.
Синтаксис
Синтаксисът е така:
TIMESTAMPADD(unit,interval,datetime_expr)
Където unit
е единицата за добавяне, interval
е колко от единиците за добавяне и datetime_expr
е началната стойност за дата или час.
Аргументът за единица може да бъде или MICROSECOND
SECOND
, MINUTE
, HOUR
, DAY
, WEEK
, MONTH
, QUARTER
, или YEAR
.
Аргументът единица може също да има префикс на SQL_TSI_
. Например, можете да използвате или DAY
или SQL_TSI_DAY
.
Пример 1 – Добавете ден
В този пример добавям ден към началната дата.
SELECT TIMESTAMPADD(DAY, 1, '1999-12-31');
Резултат:
+------------------------------------+ | TIMESTAMPADD(DAY, 1, '1999-12-31') | +------------------------------------+ | 2000-01-01 | +------------------------------------+
Пример 2 – Добавете секунда
В този пример добавям секунда към началната дата.
SELECT TIMESTAMPADD(SECOND, 1, '1999-12-31');
Резултат:
+---------------------------------------+ | TIMESTAMPADD(SECOND, 1, '1999-12-31') | +---------------------------------------+ | 1999-12-31 00:00:01 | +---------------------------------------+
Резултатът вече е стойност за дата и час, за да се върне частта от секундите.
Пример 3 – Добавете микросекунда
Предишният пример може да бъде направен още една стъпка и можем да добавим част от секунди. В този пример добавям микросекунда към началната дата.
SELECT TIMESTAMPADD(MICROSECOND, 1, '1999-12-31');
Резултат:
+--------------------------------------------+ | TIMESTAMPADD(MICROSECOND, 1, '1999-12-31') | +--------------------------------------------+ | 1999-12-31 00:00:00.000001 | +--------------------------------------------+
Пример 4 – Използване на префикс SQL_TSI_
Както споменахме, единицата може да включва SQL_TSI_
префикс.
SELECT TIMESTAMPADD(SQL_TSI_YEAR, 1, '1999-12-31');
Резултат:
+---------------------------------------------+ | TIMESTAMPADD(SQL_TSI_YEAR, 1, '1999-12-31') | +---------------------------------------------+ | 2000-12-31 | +---------------------------------------------+
Функция TIMESTAMP()
Можете да използвате TIMESTAMP()
функция за добавяне на няколко части за време към стойност на дата или дата и час наведнъж. Така например можете да добавите 12:35:26.123456 към дата, ако желаете.
За повече информация относно тази функция вижте TIMESTAMP()
Примери.