DATE() SQLite'a funkcja daje nam możliwość zwrócenia daty pierwszego wystąpienia danego dnia danego miesiąca. Dlatego możemy go wykorzystać do zwrotu w pierwszy poniedziałek danego miesiąca. Możemy go również użyć do zwrotu w pierwszy wtorek, środę, czwartek, piątek itd.
Możemy użyć DATETIME() jeśli chcemy, aby została zwrócona wartość daty i godziny.
Przykład
SELECT DATE('2025-10-20', 'start of month', 'weekday 1'); Wynik:
2025-10-06
W takim przypadku pierwszy poniedziałek danego miesiąca przypada 06.10.2025.
start of month i weekday 1 modyfikatory modyfikują datę podaną w pierwszym argumencie. Niedziela to 0, poniedziałek to 1, wtorek to 2 i tak dalej. Dlatego używamy wartości weekday 1 aby wybrać poniedziałek.
Pierwszy poniedziałek bieżącego miesiąca
Ten przykład przedstawia proces z wykorzystaniem aktualnej daty:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of month') AS "Start of Month",
DATE('now', 'start of month', 'weekday 1') AS "First Monday"; Wynik:
Now Start of Month First Monday ---------- -------------- ------------ 2022-03-09 2022-03-01 2022-03-07
Ten przykład pokazuje nam datę na każdym etapie jej modyfikacji. Używamy now aby zwrócić bieżącą datę, a następnie start of month aby przenieść go z powrotem na początek miesiąca, a następnie weekday 1 aby przesunąć datę do przodu na pierwszy poniedziałek.
DATETIME() Funkcja
Możemy również użyć DATETIME() funkcja zrobić to samo. Różnica polega na tym, że zawiera część czasu:
SELECT DATETIME('2025-10-20', 'start of month', 'weekday 1'); Wynik:
2025-10-06 00:00:00