MySQL Функции для работы с датами и временем

Получение даты и времени

Парсинг даты и времени

Примеры функций:

ФункцияРезультат
DAYOFMONTH('2020-05-25')25
DAYOFWEEK('2020-05-25')6
DAYOFYEAR('2020-05-25')145
MONTH('2020-05-25')5
YEAR('2020-05-25')2020
QUARTER('2020-05-25')2
WEEK('2020-05-25', 1)21
LAST_DAY('2020-05-25')2020-05-31
DAYNAME('2020-05-25')Friday
MONTHNAME('2020-05-25')May
HOUR('21:25:54')21
MINUTE('21:25:54')25
SECOND('21:25:54')54

Функция EXTRACT

Функция EXTRACT извлекает из даты и времени какой-то определенный компонент. Ее формальный синтаксис:

EXTRACT(unit FROM datetime)

Значение datetime представляет исходную дату и (или) время, а значение unit указывает, какой компонент даты или времени будет извлекаться. Параметр unit может представлять одно из следующих значений:

Примеры вызова функции:

ВызовРезультат
EXTRACT( SECOND FROM '2020-05-25 21:25:54')54
EXTRACT( MINUTE FROM '2020-05-25 21:25:54')25
EXTRACT( HOUR FROM '2020-05-25 21:25:54')21
EXTRACT( DAY FROM '2020-05-25 21:25:54')25
EXTRACT( MONTH FROM '2020-05-25 21:25:54')5
EXTRACT( YEAR FROM '2020-05-25 21:25:54')2020
EXTRACT( MINUTE_SECOND FROM '2020-05-25 21:25:54')2554
EXTRACT( DAY_HOUR FROM '2020-05-25 21:25:54')2521
EXTRACT( YEAR_MONTH FROM '2020-05-25 21:25:54')202005
EXTRACT( HOUR_SECOND FROM '2020-05-25 21:25:54')212554
EXTRACT( DAY_MINUTE FROM '2020-05-25 21:25:54')252125
EXTRACT( DAY_SECOND FROM '2020-05-25 21:25:54')25212554

Функции для манипуляции с датами

Ряд функций позволяют производить операции сложения и вычитания с датами и временем:

Примеры применения:

ВызовРезультат
DATE_ADD('2020-05-25', INTERVAL 1 DAY)2020-05-26
DATE_ADD('2020-05-25', INTERVAL 3 MONTH)2020-08-25
DATE_ADD('2020-05-25 21:31:27', INTERVAL 4 HOUR)2020-05-26 01:31:27
DATE_SUB('2020-05-25', INTERVAL 4 DAY)2020-05-21
DATEDIFF('2020-05-25', '2020-05-27')-2
DATEDIFF('2020-05-25', '2020-05-21')4
DATEDIFF('2020-05-25', '2020-03-21')65
TO_DAYS('2020-05-25')737204
TIME_TO_SEC('10:00')36000

Форматирование дат и времени

ВызовРезультат
DATE_FORMAT('2020-05-25', '%d/%m/%y')25/05/18
DATE_FORMAT('2020-05-25 21:25:54', '%d %M %Y')25 May 2020
DATE_FORMAT('2020-05-25 21:25:54', '%r')09:25:54 PM
TIME_FORMAT('2020-05-25 21:25:54', '%H:%i:%S')21:25:24
TIME_FORMAT('21:25:54', '%k:%i')21:25

Обе функции в качестве второго параметра принимают строку форматирования или шаблон, который показывает, как оформатировать значение. Этот шаблон может принимать следующие значения:

Вход



Регистрация