DATE()
von SQLite -Funktion gibt uns die Möglichkeit, das Datum der ersten Instanz eines bestimmten Tages eines bestimmten Monats zurückzugeben. Daher können wir es verwenden, um den ersten Montag eines bestimmten Monats zurückzugeben. Wir können es auch verwenden, um den ersten Dienstag, Mittwoch, Donnerstag, Freitag usw. zurückzugeben.
Wir können DATETIME()
verwenden wenn wir möchten, dass ein datetime-Wert zurückgegeben wird.
Beispiel
SELECT DATE('2025-10-20', 'start of month', 'weekday 1');
Ergebnis:
2025-10-06
In diesem Fall fällt der erste Montag des angegebenen Monats auf den 06.10.2025.
Der start of month
und weekday 1
Modifikatoren ändern das im ersten Argument angegebene Datum. Sonntag ist 0, Montag ist 1, Dienstag ist 2 und so weiter. Daher verwenden wir einen Wert von weekday 1
um Montag auszuwählen.
Erster Montag des aktuellen Monats
Dieses Beispiel führt Sie anhand des aktuellen Datums durch den Prozess:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of month') AS "Start of Month",
DATE('now', 'start of month', 'weekday 1') AS "First Monday";
Ergebnis:
Now Start of Month First Monday ---------- -------------- ------------ 2022-03-09 2022-03-01 2022-03-07
Dieses Beispiel zeigt uns das Datum in jeder Phase seiner Änderung. Wir verwenden now
um das aktuelle Datum zurückzugeben, dann start of month
um es zurück zum Anfang des Monats zu verschieben, dann weekday 1
um das Datum auf den ersten Montag vorzuverlegen.
Der DATETIME()
Funktion
Wir können auch DATETIME()
verwenden Funktion, um dasselbe zu tun. Der Unterschied besteht darin, dass es den Zeitabschnitt enthält:
SELECT DATETIME('2025-10-20', 'start of month', 'weekday 1');
Ergebnis:
2025-10-06 00:00:00