DATE()
de SQLite La fonction nous offre la possibilité de renvoyer la date de la première instance d'un jour donné d'un mois donné. Par conséquent, nous pouvons l'utiliser pour retourner le premier lundi d'un mois donné. On peut aussi l'utiliser pour retourner le premier mardi, mercredi, jeudi, vendredi, etc.
Nous pouvons utiliser DATETIME()
si nous voulons qu'une valeur datetime soit renvoyée.
Exemple
SELECT DATE('2025-10-20', 'start of month', 'weekday 1');
Résultat :
2025-10-06
Dans ce cas, le premier lundi du mois donné tombe le 2025-10-06.
Le start of month
et weekday 1
les modificateurs modifient la date donnée au premier argument. Dimanche est 0, lundi est 1, mardi est 2, et ainsi de suite. Par conséquent, nous utilisons une valeur de weekday 1
pour sélectionner Lundi.
Premier lundi du mois en cours
Cet exemple décrit le processus en utilisant la date actuelle :
SELECT
DATE('now') AS "Now",
DATE('now', 'start of month') AS "Start of Month",
DATE('now', 'start of month', 'weekday 1') AS "First Monday";
Résultat :
Now Start of Month First Monday ---------- -------------- ------------ 2022-03-09 2022-03-01 2022-03-07
Cet exemple nous montre la date à chaque étape de sa modification. Nous utilisons now
pour retourner la date du jour, puis start of month
pour le remettre au début du mois, puis weekday 1
pour avancer la date au premier lundi.
Le DATETIME()
Fonction
Nous pouvons également utiliser le DATETIME()
fonction pour faire la même chose. La différence est qu'il inclut la partie horaire :
SELECT DATETIME('2025-10-20', 'start of month', 'weekday 1');
Résultat :
2025-10-06 00:00:00