Możemy użyć funkcji DATE() SQLite'a funkcja zwracająca datę pierwszego wystąpienia danego dnia w danym roku. Dlatego możemy go wykorzystać do zwrotu w pierwszy poniedziałek danego roku. 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 year', 'weekday 1'); Wynik:
2025-01-06
W takim przypadku pierwszy poniedziałek danego roku przypada w dniu 2025-01-06.
start of year 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 roku
Oto przykład, który przedstawia proces z wykorzystaniem aktualnej daty:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of year') AS "Start of Year",
DATE('now', 'start of year', 'weekday 1') AS "First Monday"; Wynik:
Now Start of Year First Monday ---------- ------------- ------------ 2022-03-09 2022-01-01 2022-01-03
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 year aby przenieść go z powrotem na początek roku, 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 year', 'weekday 1'); Wynik:
2025-01-06 00:00:00