Перейти к основному содержимому

next_day

Описание

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

Эта функция поддерживается начиная с версии 1.5.0. Она является противоположностью 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 |
+---------------------------------------+

keyword

NEXT_DAY, NEXT