previous_day
功能
根据输入的日期值,返回它之前的那个星期几所对应的日期。比如 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
返回值说明
返回一个日期值。
如果 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 |
+-------------------------------------------+
keyword
PREVIOUS_DAY, PREVIOUS, previousday