DATE()
di SQLite La funzione ci fornisce la possibilità di restituire la data della prima istanza di un determinato giorno di un determinato mese. Pertanto, possiamo usarlo per restituire il primo lunedì di un determinato mese. 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 month', 'weekday 1');
Risultato:
2025-10-06
In questo caso, il primo lunedì del mese in questione cade il 06-10-2025.
L'start of month
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ì del mese in corso
Questo esempio illustra il processo utilizzando la data corrente:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of month') AS "Start of Month",
DATE('now', 'start of month', 'weekday 1') AS "First Monday";
Risultato:
Now Start of Month First Monday ---------- -------------- ------------ 2022-03-09 2022-03-01 2022-03-07
Questo esempio ci mostra la data in ogni fase della sua modifica. Usiamo now
per restituire la data corrente, quindi start of month
per riportarlo all'inizio del mese, 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 month', 'weekday 1');
Risultato:
2025-10-06 00:00:00