Можем да използваме DATE()
на SQLite функция за връщане на датата на първия екземпляр от даден ден от дадена година. Следователно можем да го използваме, за да върнем първия понеделник от дадена година. Можем да го използваме и за връщане на първия вторник, сряда, четвъртък, петък и т.н.
Можем да използваме DATETIME()
ако искаме да бъде върната стойност за дата и час.
Пример
SELECT DATE('2025-10-20', 'start of year', 'weekday 1');
Резултат:
2025-01-06
В този случай първият понеделник от съответната година е на 2025-01-06.
start of year
и weekday 1
модификаторите променят датата, посочена в първия аргумент. Неделя е 0, понеделник е 1, вторник е 2 и т.н. Следователно използваме стойност weekday 1
за да изберете понеделник.
Първи понеделник на текущата година
Ето пример, който минава през процеса, използвайки текущата дата:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of year') AS "Start of Year",
DATE('now', 'start of year', 'weekday 1') AS "First Monday";
Резултат:
Now Start of Year First Monday ---------- ------------- ------------ 2022-03-09 2022-01-01 2022-01-03
Този пример ни показва датата на всеки етап от нейната модификация. Използваме now
за да върнете текущата дата, след това start of year
за да го преместите обратно в началото на годината, след това weekday 1
за да преместите датата напред към първия понеделник.
DATETIME()
Функция
Можем също да използваме DATETIME()
функция да направи същото нещо. Разликата е, че включва частта от време:
SELECT DATETIME('2025-10-20', 'start of year', 'weekday 1');
Резултат:
2025-01-06 00:00:00