メインコンテンツまでスキップ

previous_day

previous_day

説明

入力された日付(DATEまたはDATETIME)の前に指定された曜日(DOW)が最後に出現する日付を返します。例えば、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

    Sunday

    Su

    Sun

    Monday

    Mo

    Mon

    Tuesday

    Tu

    Tue

    Wednesday

    We

    Wed

    Thursday

    Th

    Thu

    Friday

    Fr

    Fri

    Saturday

    Sa

    Sat

戻り値

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