跳到主要内容
版本:3.2

next_day

功能

根据输入的日期值,返回它之后的那个星期几所对应的日期。比如 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

返回值说明

返回一个日期值。

如果 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