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