previous_day
Возвращает дату первого указанного дня недели (DOW), который наступает до входной даты (DATE или DATETIME). Например, previous_day('2023-04-06', 'Monday') возвращает дату предыдущего понедельника до '2023-04-06'.
Эта функция поддерживается с версии 3.1. Она противоположна функции next_day.
Синтаксис
DATE previous_day(DATETIME|DATE date_expr, VARCHAR dow)
Параметры
-
date_expr: входная дата. Должно быть допустимым выражением типа DATE или DATETIME. -
dow: день недели. Допустимые значения включают ряд сокращений, которые чувствительны к регистру:DOW_FULL DOW_2 DOW_3 Sunday Su Sun Monday Mo Mon Tuesday Tu Tue Wednesday We Wed Thursday Th Thu Friday Fr Fri Saturday Sa Sat
Возвращаемое значение
Возвращает значение типа DATE.
Любое недопустимое значение dow вызовет ошибку. Параметр dow чувствителен к регистру.
Возвращает NULL, если передана недопустимая дата или аргумент NULL.
Примеры
-- Возвращает дату предыдущего понедельника до 2023-04-06. 2023-04-06 — это четверг, и дата предыдущего понедельника — 2023-04-03.
MySQL > select previous_day('2023-04-06', 'Monday');
+--------------------------------------+
| previous_day('2023-04-06', 'Monday') |
+--------------------------------------+
| 2023-04-03 |
+--------------------------------------+
MySQL > select previous_day('2023-04-06', 'Tue');
+-----------------------------------+
| previous_day('2023-04-06', 'Tue') |
+-----------------------------------+
| 2023-04-04 |
+-----------------------------------+
MySQL > select previous_day('2023-04-06 20:13:14', 'Fr');
+-------------------------------------------+
| previous_day('2023-04-06 20:13:14', 'Fr') |
+-------------------------------------------+
| 2023-03-31 |
+-------------------------------------------+
Ключевые слова
PREVIOUS_DAY, PREVIOUS, previousday