Перейти к основному содержимому
Версия: 2.0.x

next_day

Возвращает дату первого указанного дня недели (DOW), который наступает после входной даты (DATE или DATETIME). Например, next_day('2023-04-06', 'Monday') возвращает дату следующего понедельника после '2023-04-06'.

Эта функция поддерживается с версии 3.1. Она противоположна функции previous_day.

Синтаксис

DATE next_day(DATETIME|DATE date_expr, VARCHAR dow)

Параметры

  • date_expr: входная дата. Должно быть допустимым выражением типа DATE или DATETIME.

  • dow: день недели. Допустимые значения включают ряд сокращений, которые чувствительны к регистру:

    DOW_FULLDOW_2DOW_3
    SundaySuSun
    MondayMoMon
    TuesdayTuTue
    WednesdayWeWed
    ThursdayThThu
    FridayFrFri
    SaturdaySaSat

Возвращаемое значение

Возвращает значение типа DATE.

Любое недопустимое значение dow вызовет ошибку. Параметр dow чувствителен к регистру.

Возвращает NULL, если передана недопустимая дата или аргумент NULL.

Примеры

-- Возвращает дату следующего понедельника после 2023-04-06. 2023-04-06 — это четверг, и дата следующего понедельника — 2023-04-10.

MySQL > select next_day('2023-04-06', 'Monday');
+----------------------------------+
| next_day('2023-04-06', 'Monday') |
+----------------------------------+
| 2023-04-10 |
+----------------------------------+

MySQL > select next_day('2023-04-06', 'Tue');
+-------------------------------+
| next_day('2023-04-06', 'Tue') |
+-------------------------------+
| 2023-04-11 |
+-------------------------------+

MySQL > select next_day('2023-04-06 20:13:14', 'Fr');
+---------------------------------------+
| next_day('2023-04-06 20:13:14', 'Fr') |
+---------------------------------------+
| 2023-04-07 |
+---------------------------------------+

Ключевые слова

NEXT_DAY, NEXT