DATE()
de SQLite La función nos brinda la capacidad de devolver la fecha de la primera instancia de un día determinado de un mes determinado. Por lo tanto, podemos usarlo para devolver el primer lunes de un mes determinado. También podemos usarlo para volver el primer martes, miércoles, jueves, viernes, etc.
Podemos usar DATETIME()
si queremos que se devuelva un valor de fecha y hora.
Ejemplo
SELECT DATE('2025-10-20', 'start of month', 'weekday 1');
Resultado:
2025-10-06
En este caso, el primer lunes del mes dado ocurre el 2025-10-06.
El start of month
y weekday 1
Los modificadores modifican la fecha dada en el primer argumento. El domingo es 0, el lunes es 1, el martes es 2, y así sucesivamente. Por lo tanto, usamos un valor de weekday 1
para seleccionar el lunes.
Primer lunes del mes actual
Este ejemplo recorre el proceso utilizando la fecha actual:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of month') AS "Start of Month",
DATE('now', 'start of month', 'weekday 1') AS "First Monday";
Resultado:
Now Start of Month First Monday ---------- -------------- ------------ 2022-03-09 2022-03-01 2022-03-07
Este ejemplo nos muestra la fecha en cada etapa de su modificación. Usamos now
para devolver la fecha actual, luego start of month
para volver a moverlo al comienzo del mes, luego weekday 1
para adelantar la fecha al primer lunes.
El DATETIME()
Función
También podemos usar el DATETIME()
función para hacer lo mismo. La diferencia es que incluye la porción de tiempo:
SELECT DATETIME('2025-10-20', 'start of month', 'weekday 1');
Resultado:
2025-10-06 00:00:00