We kunnen SQLite's DATE()
. gebruiken functie om de datum van de eerste instantie van een bepaalde dag van een bepaald jaar te retourneren. Daarom kunnen we het gebruiken om de eerste maandag van een bepaald jaar terug te keren. We kunnen het ook gebruiken om de eerste dinsdag, woensdag, donderdag, vrijdag, enz. terug te keren.
We kunnen DATETIME()
. gebruiken als we willen dat een datetime-waarde wordt geretourneerd.
Voorbeeld
SELECT DATE('2025-10-20', 'start of year', 'weekday 1');
Resultaat:
2025-01-06
In dit geval valt de eerste maandag van het gegeven jaar op 2025-01-06.
De start of year
en weekday 1
modifiers wijzigen de datum die bij het eerste argument wordt gegeven. Zondag is 0, maandag is 1, dinsdag is 2, enzovoort. Daarom gebruiken we een waarde van weekday 1
om maandag te selecteren.
Eerste maandag van het huidige jaar
Hier is een voorbeeld dat het proces doorloopt met de huidige datum:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of year') AS "Start of Year",
DATE('now', 'start of year', 'weekday 1') AS "First Monday";
Resultaat:
Now Start of Year First Monday ---------- ------------- ------------ 2022-03-09 2022-01-01 2022-01-03
Dit voorbeeld toont ons de datum in elke fase van de wijziging. We gebruiken now
om de huidige datum terug te geven, dan start of year
om het terug te zetten naar het begin van het jaar, dan weekday 1
om de datum vooruit te schuiven naar de eerste maandag.
De DATETIME()
Functie
We kunnen ook de DATETIME()
. gebruiken functie om hetzelfde te doen. Het verschil is dat het het tijdsgedeelte omvat:
SELECT DATETIME('2025-10-20', 'start of year', 'weekday 1');
Resultaat:
2025-01-06 00:00:00