SQLiteのDATE()
を使用できます 提供された日付に基づいて、特定の年の毎月第1月曜日を返す関数。
ただし、月曜日に限定されません。毎月第1火曜日、水曜日、木曜日、金曜日なども取得できます。
例
または、次のようなコードを使用して、年間を通じて毎月第1月曜日を返すこともできます。
SELECT
DATE('2025-10-20', 'start of year', 'weekday 1') AS "Jan",
DATE('2025-10-20', 'start of year', '+1 month', 'weekday 1') AS "Feb",
DATE('2025-10-20', 'start of year', '+2 months', 'weekday 1') AS "Mar",
DATE('2025-10-20', 'start of year', '+3 months', 'weekday 1') AS "Apr",
DATE('2025-10-20', 'start of year', '+4 months', 'weekday 1') AS "May",
DATE('2025-10-20', 'start of year', '+5 months', 'weekday 1') AS "Jun",
DATE('2025-10-20', 'start of year', '+6 months', 'weekday 1') AS "Jul",
DATE('2025-10-20', 'start of year', '+7 months', 'weekday 1') AS "Aug",
DATE('2025-10-20', 'start of year', '+8 months', 'weekday 1') AS "Sep",
DATE('2025-10-20', 'start of year', '+9 months', 'weekday 1') AS "Oct",
DATE('2025-10-20', 'start of year', '+10 months', 'weekday 1') AS "Nov",
DATE('2025-10-20', 'start of year', '+11 months', 'weekday 1') AS "Dec";
結果:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 2025-01-06 2025-02-03 2025-03-03 2025-04-07 2025-05-05 2025-06-02 2025-07-07 2025-08-04 2025-09-01 2025-10-06 2025-11-03 2025-12-01
ここでは、 DATE()
と呼びます。 12回機能します。毎回同じ日付を使用し、ほとんどの引数は同じです。唯一変わるのは、年の初めにどれだけ追加するかです。
今年の初め
を使用します 日付を年の最初の日に戻します。次に、追加の修飾子を使用して、それに応じてその日付を変更します。
日付に月を追加しない場合は、1月の第1月曜日に戻ります。 +1か月コード>を追加 2月の第1月曜日を返します。
平日1
修飾子は、日付を次の月曜日に進めます。日曜日は0、月曜日は1、火曜日は2などです。たとえば、火曜日が必要な場合は、 weekday 2
を使用します。 代わりに。
現在の日付を使用する
次の例では、現在の日付を使用しています。
SELECT
DATE('now') AS "Now",
DATE('now', 'start of year', 'weekday 1') AS "Jan",
DATE('now', 'start of year', '+1 month', 'weekday 1') AS "Feb",
DATE('now', 'start of year', '+2 months', 'weekday 1') AS "Mar",
DATE('now', 'start of year', '+3 months', 'weekday 1') AS "Apr",
DATE('now', 'start of year', '+4 months', 'weekday 1') AS "May",
DATE('now', 'start of year', '+5 months', 'weekday 1') AS "Jun",
DATE('now', 'start of year', '+6 months', 'weekday 1') AS "Jul",
DATE('now', 'start of year', '+7 months', 'weekday 1') AS "Aug",
DATE('now', 'start of year', '+8 months', 'weekday 1') AS "Sep",
DATE('now', 'start of year', '+9 months', 'weekday 1') AS "Oct",
DATE('now', 'start of year', '+10 months', 'weekday 1') AS "Nov",
DATE('now', 'start of year', '+11 months', 'weekday 1') AS "Dec";
結果:
Now Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 2022-03-10 2022-01-03 2022-02-07 2022-03-07 2022-04-04 2022-05-02 2022-06-06 2022-07-04 2022-08-01 2022-09-05 2022-10-03 2022-11-07 2022-12-05