Possiamo usare DATE()
di SQLite funzione per restituire la data della prima istanza di un determinato giorno di un determinato anno. Pertanto, possiamo usarlo per restituire il primo lunedì di un determinato anno. Possiamo anche usarlo per restituire il primo martedì, mercoledì, giovedì, venerdì, ecc.
Possiamo usare DATETIME()
se vogliamo che venga restituito un valore datetime.
Esempio
SELECT DATE('2025-10-20', 'start of year', 'weekday 1');
Risultato:
2025-01-06
In questo caso, il primo lunedì dell'anno si verifica il 06-01-2025.
L'start of year
e weekday 1
i modificatori modificano la data data al primo argomento. La domenica è 0, lunedì è 1, martedì è 2 e così via. Pertanto, utilizziamo un valore di weekday 1
per selezionare lunedì.
Primo lunedì dell'anno in corso
Ecco un esempio che illustra il processo utilizzando la data corrente:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of year') AS "Start of Year",
DATE('now', 'start of year', 'weekday 1') AS "First Monday";
Risultato:
Now Start of Year First Monday ---------- ------------- ------------ 2022-03-09 2022-01-01 2022-01-03
Questo esempio ci mostra la data in ogni fase della sua modifica. Usiamo now
per restituire la data corrente, quindi start of year
per riportarlo all'inizio dell'anno, quindi weekday 1
per anticipare la data al primo lunedì.
Il DATETIME()
Funzione
Possiamo anche usare DATETIME()
funzione per fare la stessa cosa. La differenza è che include la parte temporale:
SELECT DATETIME('2025-10-20', 'start of year', 'weekday 1');
Risultato:
2025-01-06 00:00:00