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 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