类别:

日期和时间函数

PREVIOUS_DAY

返回在输入日期之前出现的第一个指定的星期几 (DOW) 的日期。

另请参阅:

LAST_DAY , NEXT_DAY

语法

PREVIOUS_DAY( <date_or_timetamp_expr> , <dow> )
Copy

实参

date_or_timestamp_expr

日期、时间戳或计算结果为日期或时间戳的表达式。

dow_string

指定用于计算前一天日期的星期几。值可以是字符串字面量或返回字符串的表达式。字符串必须以星期几名称的前两个字符(不区分大小写)开头:

  • su (星期日)

  • mo (星期一)

  • tu (星期二)

  • we (星期三)

  • th (星期四)

  • fr (星期五)

  • sa (星期六)

字符串中的任何前导空格和尾随字符(包括空格)都将被忽略。

返回

该函数返回类型为 DATE 的值,即使 date_or_timetamp_expr 是时间戳也是如此。

示例

返回在当前日期之前出现的上一个星期五的日期:

SELECT CURRENT_DATE() AS "Today's Date",
       PREVIOUS_DAY("Today's Date", 'Friday') AS "Previous Friday";
Copy
+--------------+-----------------+
| Today's Date | Previous Friday |
|--------------+-----------------|
| 2025-05-06   | 2025-05-02      |
+--------------+-----------------+

您的输出将有所不同,因为该示例使用 CURRENT_DATE 函数。

语言: 中文