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