メインコンテンツまでスキップ
バージョン: Latest-3.4

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_FULLDOW_2DOW_3
    SundaySuSun
    MondayMoMon
    TuesdayTuTue
    WednesdayWeWed
    ThursdayThThu
    FridayFrFri
    SaturdaySaSat

戻り値

DATE 値を返します。

無効な 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 |
+-------------------------------------------+

キーワード

PREVIOUS_DAY, PREVIOUS, previousday