previous_day
返回指定的星期几 (DOW) 在输入日期(DATE 或 DATETIME)之前发生的日期。 例如,previous_day('2023-04-06', 'Monday')
返回 ‘2023-04-06’ 之前发生的上一个星期一的日期。
该函数从 v3.1 开始支持。 它与 next_day 相反。
语法
DATE previous_day(DATETIME|DATE date_expr, VARCHAR dow)
参数
-
date_expr
: 输入日期。 它必须是有效的 DATE 或 DATETIME 表达式。 -
dow
: 星期几。 有效值包括一些区分大小写的缩写DOW_FULL DOW_2 DOW_3 星期日 Su Sun 星期一 Mo Mon Tuesday Tu Tue Wednesday We Wed Thursday Th Thu Friday Fr Fri Saturday Sa Sat
返回值
返回 DATE 值。
任何无效的 dow
都会导致错误。 dow
区分大小写。
如果传入无效日期或 NULL 参数,则返回 NULL。
示例
-- Return the date of the previous Monday that occurred before 2023-04-06. 2023-04-06 is Thursday and the date of the previous Monday is 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